Paint sprayer distributed control and output volume monitoring architectures

ABSTRACT

A sprayer for spraying fluid includes a pump, a motor that drives the pump, a drive cycle indicator, a wireless module configured to send and receive information, and control circuitry. The drive cycle indicator outputs an indication of cycle status of the pump. The control circuitry is configured to receive the plurality of cycle status indications of the pump, determine a plurality of output values representing paint spray fluid output volume over a plurality of time windows based on the plurality of cycle status indications of the pump, store the plurality of output values in memory, and cause the wireless module to transmit one or more of the stored plurality of output values externally from the sprayer.

This application is a continuation of U.S. application Ser. No.17/303,659, filed Jun. 3, 2021, which is a continuation of U.S.application Ser. No. 17/222,390, filed Apr. 5, 2021, which is acontinuation of U.S. application Ser. No. 16/579,424, filed Sep. 23,2019, which is a continuation-in-part of U.S. application Ser. No.15/910,279, filed Mar. 2, 2018, which is a continuation-in-part of U.S.application Ser. No. 14/766,712, filed Aug. 7, 2015, now U.S. Pat. No.9,939,822, which is a National Stage entry of PCT Application No.PCT/US2014/015698, filed Feb. 11, 2014, which claims the benefit of U.S.Provisional Application No. 61/763,252, filed Feb. 11, 2013, which arehereby incorporated by reference in their entireties. U.S. applicationSer. No. 16/579,424 also claimed the benefit of U.S. ProvisionalApplication 62/735,524, filed Sep. 24, 2018, U.S. ProvisionalApplication 62/755,181, filed Nov. 2, 2018, U.S. Provisional Application62/789,219, filed Jan. 7, 2019, and U.S. Provisional Application No.62/792,107, filed Jan. 14, 2019, which are hereby incorporated byreference in their entireties.

BACKGROUND

The present disclosure relates generally to fluid dispensing systems.More specifically, this disclosure relates to displacement pumps forfluid spray systems.

Fluid dispensing systems, such as for spraying paint and other fluids,typically utilize axial displacement pumps to pull a fluid from a sourceand to drive the fluid downstream. The axial displacement pump includesa piston or diaphragm that is driven in a reciprocating manner along itslongitudinal axis to pump the fluid and generate pressure sufficient foratomizing the fluid from a nozzle to generate a spray fan for applyingthe fluid to a surface.

SUMMARY

In one embodiment, a remote monitoring system comprises a fluid handlingsystem and a communications module. The fluid handling system comprisesa fluid delivery subsystem, at least one pressure sensor, at least onetemperature sensor, and a fluid handling system processor. The fluiddelivery subsystem is configured to pump and heat a fluid. Thetemperature and pressure sensors are disposed on the fluid deliverysubsystem to sense temperatures and pressures of the fluid,respectively. The fluid handling system processor is configured toproduce duty data and commanded pressures and temperatures for the fluiddelivery subsystem, and to receive the sensed pressures andtemperatures. The communications module is attached to the fluidhandling system, and comprises a communications module processor and atransceiver. The communications module processor is configured toretrieve a first data set comprising the duty data, the commandedpressures and temperatures, and the sensed pressures and temperatures,and to produce a second data set that includes the first data set. Thetransceiver is disposed to transmit the second data set via acommunication network to an end user-accessible data storage server.

In another embodiment, a remote monitoring system for a fluid applicatorsystem is disclosed. The fluid applicator system is disposed to heat andpump spray fluid, and to transmit reports including sensed temperatures,pressures, and other operational parameters of the fluid applicatorsystem via a wireless network. The remote monitoring system comprises adata storage server, and an end user interface. The data storage serveris configured to receive and archive the reports. The end user interfaceis configured to provide a graphical user interface based on thereports. The graphical user interface illustrates a status of the fluidhandling system, sensed and commanded temperatures of the fluid handlingsystem, sensed and commanded pressures of the fluid handling system, andusage statistics of the fluid handling system.

In another embodiment, a remote monitoring system for use with a fluidapplicator system is configured to pump two or more fluids, the fluidapplicator system including an A-side fluid system with a A-side pump, aB-side fluid system with a B-side pump, and a heater system for theA-side fluid system and the B-side fluid system, wherein the remotemonitoring system includes a communications module in communication withthe fluid applicator system, the communications module including acommunications module processor configured to retrieve a first data setcomprising at least one commanded pressures or temperatures of the A- orB-side pumps or heaters, respectively, and further configured to producea second data set and transmit the second data set from a transceivervia a communication network to an end user interface; and an end userinterface disposed to provide a graphical user interface for displayingthe second data set, wherein the end user interface receives the seconddata set sent by the transceiver. In some embodiments, the transceiveris configured to transmit the second data set from a transceiver via acellular communication network to an end user interface. In someembodiments, the transceiver is configured to transmit the second dataset from a transceiver via a wireless communication network to an enduser interface. In some embodiments, a cellular device running anappropriate task-specific software application is configured to displaythe end user interface. In some embodiments, the end user interface isdisplayed on a wireless device running an appropriate task-specificsoftware application. In some embodiments, the heater system comprises asingle heater shared by the A-side fluid system and the B-side fluidsystem. In some embodiments, the heater system comprises an A-sideheater and a separate B-side heater disposed within the A-side andB-side fluid systems, respectively.

In one example, the disclosure describes a spray system comprising ahand portable paint sprayer for spraying spray fluid, the sprayercomprising a piston pump that outputs paint under pressure for spraying,a motor that drives the pump, a drive cycle indicator configured tooutput a plurality of cycle status indications of the pump, a wirelessmodule configured to wirelessly send and receive information, andcontrol circuitry configured to receive the plurality of cycle statusindications of the pump, determine a plurality of output valuesrepresenting paint spray output volume over a plurality of time windowsbased on the plurality of cycle status indications of the pump, storethe plurality of output values in memory, and cause the wireless moduleto transmit one or more of the stored output values externally from thesprayer.

In one example, the disclosure describes a method for tracking fluidvolume, the method comprising outputting, with a pump of a sprayer,spray paint under pressure for spraying, generating a plurality of cyclestatus indications of the pump, determining, with control circuitry ofthe sprayer, a plurality of output values representing paint sprayoutput volume over a plurality of time windows based on the plurality ofcycle status indications of the pump, and transmitting, with a wirelessmodule of the sprayer, one or more of the plurality of output valuesexternally from the sprayer.

In one example, the disclosure describes a system for usage monitoringof a sprayer, the system comprising a sprayer for spraying fluid, thesprayer comprising memory configured to store a plurality of fluidoutput values for the sprayer, the plurality of fluid output valuesrepresenting fluid output volumes of the sprayer over time and ahandheld computer device configured to receive the plurality of fluidoutput values from the sprayer and configured to operate in anaccessible mode in which the handheld computer device is in a firstlocation where wireless connectivity, via a continuous or nearcontinuous communication path, to a network server is accessible oroperate in an inaccessible mode in which the handheld computer device isin a second location out of range of the continuous or near continuouscommunication path to the network server. In the accessible mode, thehandheld computer device is configured to transmit at least some of theplurality of fluid output values to the network server. In theinaccessible mode, the handheld computer device is configured to receiveat least some of the fluid output values from the sprayer, store thereceived fluid output values in memory of the handheld device, andtransition from the inaccessible mode to the accessible mode in responseto determining that the continuous or near continuous communication pathto the network server is accessible for transmitting the stored fluidoutput values.

In one example, the disclosure describes a method for usage monitoringof a sprayer, the method comprising in a first time instance, operatinga handheld computer device in an accessible mode in which the handhelddevice is in a first location where wireless connectivity, via acontinuous or near continuous communication path, to a network server isaccessible. In the accessible mode, the method comprises transmitting atleast some of a plurality of fluid output values, received from asprayer, to the network server. In a second time instance, the methodincludes operating the handheld computer device in an inaccessible modein which the handheld computer device is in a second location out ofrange of the continuous or near continuous communication path to thenetwork server. In the inaccessible mode, the method comprises receivingat least some of the fluid output values from the sprayer, storing thereceived fluid output values in memory of the handheld device, andtransitioning from the inaccessible mode to the accessible mode inresponse to determining that the continuous or near continuouscommunication path to the network server is accessible for transmittingthe stored fluid output values.

In one example, the disclosure describes a method comprising receiving,by a handheld computer, user credentials of a user of the handheldcomputer and identification information of a sprayer that is in wirelesscommunication with the handheld computer, receiving, by the handheldcomputer from the sprayer via the wireless communication, a plurality offluid parameter values representing fluid output by the sprayer overtime, wherein the plurality of fluid parameter values include a firstset of fluid parameter values generated during use of the sprayer by theuser and a second set of fluid parameter values generated prior to useof the sprayer by the user, determining whether the user credentials areauthorized for viewing one or more of the plurality of fluid parametervalues including the first set of fluid parameter values and the secondset of fluid parameter values, wirelessly transmitting, by the handheldcomputer, the plurality of fluid parameter values to a network serverthat is remote from the sprayer and the handheld computer, andpreventing the user from viewing at least the second set of fluidparameter values at the handheld computer in response to determiningthat the user credentials are not authorized for viewing the second setof fluid parameter values of the plurality of fluid parameter values,displaying, by the handheld computer, at least some of the first set offluid parameter values despite determining that the user credentials arenot authorized for viewing the second set of fluid parameter values ofthe plurality of fluid parameter values, and displaying, by the handheldcomputer, the second set of fluid parameter values based on the usercredentials of the user indicating that viewing the second set of fluidparameter values is enabled.

In one example, the disclosure describes a system comprising a sprayerand a handheld computer comprising a wireless transceiver, a displaydevice, and control circuitry, wherein the control circuitry configuredto receive user credentials of a user of the handheld computer andidentification information of the sprayer that is in wirelesscommunication with the handheld computer, receive, from the sprayer viathe wireless transceiver, a plurality of fluid parameter valuesrepresenting fluid output by the sprayer over time, wherein theplurality of fluid parameter values include a first set of fluidparameter values generated during use of the sprayer by the user and asecond set of fluid parameter values generated prior to use of thesprayer by the user, determine whether the user credentials areauthorized for viewing one or more of the plurality of fluid parametervalues including the first set of fluid parameter values and the secondset of fluid parameter values, cause the wireless transceiver towirelessly transmit the plurality of fluid parameter values to a networkserver that is remote from the sprayer and the handheld computer,prevent the user from viewing, via the display device, at least thesecond set of fluid parameter values at the handheld computer inresponse to determining that the user credentials are not authorized forviewing the second set of fluid parameter values of the plurality offluid parameter values, cause, the display device, to display at leastsome of the first set of fluid parameter values despite determining thatthe user credentials are not authorized for viewing the second set offluid parameter values of the plurality of fluid parameter values, andcause, the display device, to display the second set of fluid parametervalues based on the user credentials of the user indicating that viewingthe second set of fluid parameter values is enabled.

In one example, the disclosure describes a system comprising a sprayercomprising a pump that outputs fluid under pressure for spraying, amotor that drives the pump, sprayer control circuitry configured togenerate data indicative of spray volume, and a wireless moduleconfigured to wirelessly send information including the data indicativeof spray volume. The system includes control circuitry, outside of thesprayer, configured to receive the data indicative of spray volume,maintain a spray volume maintenance log in memory by updating the sprayvolume maintenance log with the data indicative of the spray volume fromthe sprayer, compare the spray volume maintenance log to a spray volumethreshold, and cause an alert to be issued when the spray volumemaintenance log is greater than the spray volume threshold.

In one example, the disclosure describes a sprayer system comprising asprayer for spraying spray fluid, the sprayer comprising a pump thatoutputs spray fluid under pressure for spraying, a motor that drives thepump, a pressure sensor that measures fluid pressure output from thepump, and a wireless module configured to wirelessly send and receiveinformation. The system also includes control circuitry configured toreceive a plurality of pressure values when the pump is being operatedduring a window, determine an aggregate pressure metric for the windowbased on the plurality of pressure values received during the window,and cause the wireless module to transmit the aggregate pressure metric.

In one example, the disclosure describes a sprayer system comprising apump that outputs spray fluid under pressure for spraying, a motor thatdrives the pump, a pressure sensor configured to sense an actualpressure downstream of the pump, a wireless module configured towirelessly send and receive information, a pressure control input foruser input of a pump output pressure setting, and control circuitryconfigured to receive a threshold pressure wirelessly received via thewireless transceiver, receive the pump output pressure setting, andcontrol operation of the sprayer based on the threshold pressure, thepump output pressure setting, and the actual pressure, wherein thecontrol circuitry causes the motor to drive output of the pump to thepump output pressure setting unless the pump output pressure setting isgreater than the threshold pressure in which case the control circuitrycauses the motor to drive output of the pump to the threshold pressure.

In one example, the disclosure describes a system for paint sprayingvolume tracking, the system comprising one or more sprayers for sprayingfluid for a plurality of jobs, one or more handheld computer devicescommunicative couplable to the one or more sprayers, wherein each of theone or more handheld computer devices is configured to receiveinformation indicative of one or more jobs from the plurality of jobs,receive user selection of a job of the one or more jobs, receiveinformation from the one or more sprayers, the information indicative ofan amount of fluid sprayed by the one or more sprayers with which theone or more handheld computer devices are communicatively coupled, andoutput the information indicative of the amount of fluid sprayed inassociation with the selected job of the one or more jobs from theplurality of jobs. The system also includes a network server configuredto receive from each of the one or more handheld computer devicesrespective information indicative of the amount of fluid sprayed forrespective jobs, update respective spray volume logs based on respectiveinformation indicative of the amount of fluid sprayed for respectivejobs, wherein the spray volume logs are respectively associated with theplurality of jobs and each spray volume log includes informationindicative of the amount of fluid sprayed at the associated jobs, andgenerate information for display indicative of respective amounts offluid sprayed for the plurality of jobs based on the spray volume logs.

In one example, the disclosure describes a system for paint sprayingvolume tracking, the system comprising one or more sprayers for sprayingfluid for a plurality of jobs and a network server configured to receiveinformation generated by the one or more sprayers, the informationindicative of the amount of fluid sprayed for respective jobs, updaterespective spray volume logs based on respective information indicativeof the amount of fluid sprayed for respective jobs, wherein the sprayvolume logs are respectively associated with the plurality of jobs andeach spray volume log includes information indicative of the amount offluid sprayed at the associated jobs, and generate information fordisplay indicative of respective amounts of fluid sprayed for theplurality of jobs based on the spray volume logs.

In one example, the disclosure describes a method of fluid sprayallocation, the method comprising receiving a plurality of job profilesrespectively corresponding to a plurality of painting projects for oneor more paint sprayers, generating a plurality of spray volume data setswith the one or more paint sprayers, transmitting the plurality of sprayvolume data sets, receiving the plurality of spray volume data sets,receiving inputs respectively associating the plurality of spray volumedata sets with the plurality of painting projects, determining sprayvolume values for the plurality of painting projects based on theplurality of spray volume data sets respectively associated with theplurality of painting projects, and generating an output based on thespray volume values.

The details of one or more examples are set forth in the accompanyingdrawings and the description below. Other features, objects, andadvantages will be apparent from the description and drawings, and fromthe claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a pictorial schematic diagram of an embodiment of a remotemonitoring system for a fluid handling system.

FIG. 1B is a pictorial schematic diagram of an embodiment of a remotemonitoring system for a fluid handling system.

FIG. 1C is a pictorial schematic diagram of an embodiment of a remotemonitoring system for a fluid handling system.

FIG. 2 is a schematic block diagram of an embodiment of a communicationnetwork of the remote monitoring system of FIG. 1A.

FIG. 3A is an illustrative view of a graphical user interface for an enduser interface of the remote monitoring system.

FIG. 3B is an illustrative view of a graphical user interface for an enduser interface of the remote monitoring system.

FIG. 4 is a method flowchart illustrating one embodiment of a method ofoperation of the remote monitoring system of FIGS. 1A and 2.

FIG. 5 is an isometric view of a fluid sprayer.

FIG. 6 is an exploded view of the fluid sprayer of FIG. 5.

FIG. 7 is a schematic block diagram of components of various equipmentused in a wireless network for monitoring a fluid sprayer.

FIG. 8A is a flow diagram illustrating example operations for generatingtime-based usage information on a sprayer.

FIG. 8B is a flow diagram illustrating a variation of the operations ofFIG. 8A divided into two concurrent processes A and B.

FIG. 8C is a flow diagram illustrating example operations for generatingtime-based spray pressure information on a sprayer.

FIG. 9 is a flow diagram illustrating example operations for coupling ahandheld computer to a sprayer moving data generated on the sprayer to anetwork server via a handheld computer.

FIG. 10 is a flow diagram illustrating example operations for coupling asprayer to a handheld computer.

FIG. 11 is a flow diagram illustrating various aspects of job features.

FIG. 12 is a schematic block diagram of a system for trackingproductivity.

FIG. 13 is a flow diagram illustrating example operations for outputtinga notification from a network server in response to receiving sprayeridentification data of a sprayer associated with a status indicatingthat the sprayer is unaccounted for.

FIG. 14 is a flow diagram illustrating example operations for remotelysetting a pressure threshold of a sprayer using a wirelessly connectedhandheld computer.

FIG. 15 is a flow diagram illustrating example operations for limitingan output pressure of a sprayer to a threshold pressure that is receivedvia wireless communication from a handheld computer.

FIG. 16 is a flow diagram illustrating example operations for generatingmaintenance alerts for a sprayer with data received via wirelesscommunication from a handheld computer.

FIG. 17 is a flow diagram illustrating example operations for generatingmaintenance alerts for a sprayer with data received via wirelesscommunication from a handheld computer.

FIG. 18 is an example performance data report for a sprayer.

FIG. 19 is an example job data report for multiple sprayers.

DETAILED DESCRIPTION

FIG. 1A is a pictorial schematic diagram illustrating one embodiment300A of a remote monitoring system 300, which comprises fluid handlingsystem 302, communications module 304A, communications network 306A,data storage server 308, and end user interface (EUI) 310. Theillustrated embodiment is shown merely by way of example, and notlimitation.

Fluid handling system 302 is a fluid system, such as a polyurethanesprayer or hot melt sprayer. Fluid handling system 302 comprises fluidhookups 312, pump module 314, heater module 316, and local operatorinterface (LOI) 318, as well as further logic components describedbelow, with respect to FIG. 2. Pump module 314 is disposed to draw fluidfrom reservoirs (not shown) attached to fluid hookups 312, and topressurize fluid to desired setpoint pressures. Pump module 314 can, forexample, comprise a motorized pump or set of pumps driven by one or moreelectric, hydraulic, or pneumatic motors. Heater module 316 isconfigured to heat fluid pressurized by pump module 314 to desiredsetpoint temperatures. Heater module 316 can, for example, comprise afluid channel or set of channels outfitted with electrically resistiveor chemical heating elements. Pump module 314 and heater module 316together make up a fluid delivery subsystem that brings fluids tospecified pressures and temperatures (and thereby viscosities) suitablefor spraying or other application to a work surface. In the illustratedembodiment, fluid handling system 302 is a two-side fluid system with A-and B-sides dedicated to different fluids that are mixed only whensprayed. In other embodiments, however, fluid handling system 302 cancomprise any number of separate fluid lines, or a single fluid line.During use, fluid from heater module 316 and pump module 314 can, by wayof example, be pumped through a hose or pipe to a sprayer or applicator(not shown).

LOI 318 is an interface device that enables a local operator to read offsubstantially real-time sensed values of fluid temperature and pressure,and specify setpoint temperatures and pressures to act as commandedvalues governing the operation of pump module 314 and heater module 316.Where pump module 314 and heater module 316 comprise multiple isolatedfluid lines for separate fluids, LOI 318 allows users to selectdifferent commanded temperatures and pressures for each fluid line.

Communications module 304A is a remote communication device attached tofluid handling system 302. Fluid handling system 302 and communicationsmodule 304A together comprise a fluid applicator system that can betransported (e.g. via truck, or by cart) to an appropriate worklocation. Although communications module 304A is depicted as a separatedevice connected to fluid handling system 302, communications module 304can be either a separate device affixed to fluid handling system 302, oran integrated component of fluid handling system 302, as desired forparticular applications. For example, communications modules 304A-304Cmay be integrated with transceiver 354 (also referred to as localtransceiver 354). Communications modules 304A-304C retrieve operatingparameter data from fluid handling system 302, gathers additionallocation-specific data, and transmits reports including both of thesedata sets, as described in greater detail below with respect to FIGS. 2and 4. Communication module 304 allows local information about the fluidapplicator system, and particularly about fluid handling system 302, tobe accessed, aggregated, and archived at remote locations.

Communications module 304A transmits reports (either periodically, or ondemand) through communications network 306A to data storage server 308via communications network 306A. In some embodiments, communicationsmodule 304A regularly assembles and transmits reports based at least inpart on a pre-set schedule. In further embodiments, communicationsmodule 304A can transmit reports based on the content of process datareceived from fluid handling system 302, e.g. conditionally transmittingsome reports in the event of unexpected sensor readings or event/errorcodes. Communications networks 306A-306C are illustrated as a cloud, butcan be any data distribution network. In particular, communicationsnetworks 306A-306C can include a cellular or other wireless network,either a dedicated network purposed specifically for use with remotemonitoring system 300A-300C, or a general purpose network shared withother applications. Data storage server 308 can, for example, be asingle storage device or storage stack, or an array of distributeddevices.

Data storage server 308 may archive reports from communications module304, either indefinitely or for a predetermined time (e.g. for the lastweek, or the last six months), so that history data is accessible at EUI310A. EUIs 310A-310C can be dedicated hardware terminal designed for usewith remote monitoring system 300, a general purpose computing devicewith suitable memory and processor capabilities running applicationsoftware specific to remote monitoring system 300, or a general purposecomputing device such as a personal computer, a wireless tablet, orcellular device capable of running a general purpose web browser thataccesses information archived at data storage server 308. EUI 310 can,for example, be a personal computer or a wireless tablet or cellulardevice running an appropriate task-specific software application. EUI310 has graphical user interface (GUI), for example 320A or 320B (seeFIGS. 3A and 3B), which provides end users with a range of aggregated,historical, and real-time data about fluid handling system 302, asdescribed in greater detail below. Although GUI 320A is displayed on EUI310A, the information displayed in GUIs 320A-320B can be assembled (i.e.by aggregating operational parameter data form reports, producingmetadata, and calculating secondary quantities from reported data)either at data storage server 308, or at EUIs 310A-310C. In manyembodiments, data storage server 308 and EUI 310 can communicate viacommunication network 306A with a plurality of communications modules304 attached to fluid handling systems 302. In this way, EUI 310 enablesend users to remotely access aggregated, historical, and real-time dataabout multiple, geographically distributed fluid handling devices.

Data storage server 308 may be located anywhere between the fluidhandling system 302 and the various EUIs. In some embodiments, datastorage server 308 is a component of the network 306A-306C. For example,the embodiments of FIGS. 1A-1C may have a locally hosted data storageserver 308 (i.e., hosted on a node within the network) or a cloud-baseddata storage server 308 (FIGS. 1B and 1C). In other embodiments, the enduser device (e.g., EUIs 310A-310C) or communications module (e.g.,304A-304C) may be configured to act as the data storage server 308 forretaining historical and other values. For example, if a communicationmodule such as 304B is configured to communicate directly with at leastone EUI without transmitting data via the Internet, then either the EUI(e.g., 310A-310C) or the communications module 304B may serve as thedata storage server 308.

FIGS. 1B and 1C show various communication networks (e.g., Wi-Fi andCellular, but may also include such exemplary networks as satellite,USB, Bluetooth, Zigbee, etc.) for transmitting data from a fluidhandling system 302 to an end user device (e.g., EUIs 310A-310C). Insuch embodiments, the operator may view and change key system parameters(e.g., pressures or temperatures) at the end of the hose (i.e., thespray gun end) opposite of the fluid handling system 302. Previously,this functionality could only be had at interface 318, which could bemore than 400 feet from the point of application. In the illustratedembodiments of FIGS. 1B and 1C, data storage server 308 is part of thenetwork (not shown).

FIG. 1B is a pictorial schematic diagram illustrating alternativeembodiment 300B of a remote monitoring system 300, which comprises fluidhandling system 302, communications module 304B, communications network306B, and at least one end user interface (EUI), such as 310A-310C. Theillustrated embodiment is shown merely by way of example, and notlimitation. In embodiment 300B, communications module 304B is configuredto communicate with at least a Wi-Fi network (e.g., IEEE 802.1x,Bluetooth, etc.). In some embodiments, such as the illustratedembodiment of FIG. 1B, the transmitted data travels through a networkthat includes the Internet, similar to embodiment 300A. In otherembodiments, the proximity of fluid handling system 302 to the end underdevice (e.g., EUI 310A-310C) may allow direct communication between theEUI and the communications module. For example, FIG. 1B includes acommunication module 304B configured to communicate with one or moreWireless Access Point(s) 3040B (e.g., IEEE 802.1x, etc.), wherein thedata is transmitted to at least one of EUIs 310A-310C via WirelessAccess Point 340B (e.g., IEEE 802.1x router). Wireless Access Point maybe configured to communicate via the Internet to at least one of EUIs310A-310C, or alternatively, may be configured to communicate directlyto at least one of EUIs 310A-310C. In other embodiments, communicationmodule 304B may communicate directly with at least one of EUIs 310A-310Cover a Wi-Fi network (e.g., IEEE 802.1x, Bluetooth, etc.), in which casethere is no need for a Wireless Access Point or Internet. In suchembodiments with direct Wi-Fi communication, communication module 304B(e.g., Bluetooth, Wi-Fi, etc.) will pair with a smart device (e.g., EUIs310A-310C). Transmitted data may be communicated to the fluid handlingsystem 302 (e.g., proportioner, etc.) via a CAN network to control andview key system parameters. EUI 310B may be configured as a smart deviceapp, which will serve as the interface for viewing and controlling thesystem. In many embodiments, little to no software changes are needed tobe made to the existing software since it is already designed to acceptcontrol inputs from the current wired remote display module.

FIG. 1C is a pictorial schematic diagram illustrating an alternativeembodiment 300C of remote monitoring system 300, which comprises fluidhandling system 302, communications module 304C, communications network306C, and at least one end user interface (EUI), such as 310A-310C. Theillustrated embodiment is shown merely by way of example, and notlimitation. In embodiment 300C, communications module 304C is configuredto communicate with at least a cellular network 340C. In someembodiments, the transmitted data travels through a network thatincludes the Internet, similar to embodiment 300A.

FIG. 2 is a schematic block diagram illustrating logic components ofremote monitoring system 300A. As described above, remote monitoringsystem 300A comprises fluid handling system 302, communications module304, communications network 306, data storage server 308, and EUI 310.As illustrated in FIG. 2, remote monitoring system 300 further comprisesadditional fluid handling systems 302 a and 302 b connected toadditional communications modules 304 a and 304 b, respectively. Fluidhandling systems 302 a and 302 b can, for example, be additionalidentical or similar fluid handling systems to fluid handling system302. Fluid handling systems 302 a and 302 b may differ from each otherand from fluid handling system 302 in specifics of form and function,but are generally fluid handling systems as described above with respectto FIG. 1. In general, remote monitoring system 300 can include anynumber of fluid handling systems with corresponding communicationsmodules.

In addition to heating and pressurizing fluid (see FIG. 1), fluidhandling system 302 collects, receives, and produces data regarding arange of operational parameters, including actual and commandedtemperatures and pressures, error or event codes and states, and “dutydata” such as device on-time, hours of use, pump cycle counts and otherduty cycle data. In the illustrated embodiment, fluid handling system302 comprises temperature sensors 344 a and 344 b, pressure sensors 346a and 346 b, subsidiary processor 348, fluid handling processor 342, andlocal transceiver 350. Temperature sensors 344 a and 344 b can, forinstance, be thermocouples, resistive temperature detectors, bimetallicsensors, or other temperature sensors selected for suitability for theoperating conditions of fluid handling system 302. Temperature sensors344 a and 344 b can, for example, be disposed at inlet and/or outletlocations of fluid handling system 302 and/or heater module 316.Pressure sensors 346 a and 346 b can, for example, be piezoelectric orcapacitive pressure sensors disposed at inlet and/or outlet locations offluid handling system 302 and/or pump module 314. Although only twotemperature sensors 344 a and 344 b and two pressures sensors 346 a and346 b are shown in FIG. 2, fluid handling system 302 can comprise anynumber of pressure and temperatures sensors. In particular, embodimentsof fluid handling system 302 with separate A-side and B-side fluid linescan incorporate separate sets of temperature and pressure sensors foreach fluid line.

Fluid handling processor 342 and sub-processor 348 are logic-capabledevices that receive, retrieve, and/or produce operational parameters offluid handling system 302. Although fluid handling processor 342 isdepicted as a single element, some embodiments of fluid handlingprocessor 342 can constitute a plurality of separate logic processors,each separately in communication with appropriate sensors and with localtransceiver 350. In one such embodiment, fluid handling processor 342comprises a motor controller processor dedicated to pump motors of pumpmodule 314, and a heater controller processor dedicated to heater module316. Some embodiments of fluid handling system 302 may includesub-processor 348, an additional logic-capable processor thatcommunicates with local transceiver 350 only via fluid handlingprocessor 342. For example, fluid handling processor 342 may comprise amotor controller processor that, in addition to receiving sensor dataand commanded setpoint pressures related to pump operation, receives andaggregates signals from a heater controller processor.

Fluid handling processor 342 (and, in some embodiments, sub-processor348) receives user inputs specifying setpoint temperatures and pressuresfor fluid handling system 302. These setpoint temperatures and pressuresact as commanded or target values towards which heater module 316 andpump module 314 respectively operate. Fluid handling 342 also generatesand/or gathers (e.g. from sub-processor 348) error and event codescorresponding to events such as malfunctions, overheating events, pumpjams, and the like, and counts pump cycles of pump(s) in pump module314. In some embodiments, fluid handling processor 342 displays some orall of this operational data on LOI 318, and receives inputs (includingtemperature and pressures setpoints) from LOI 318. Fluid handlingprocessor 342 transmits some or all of this operational data to localtransceiver 350, which transmits the operational data to communicationsmodule 304. Local transceiver 350 can transmit operational dataperiodically, continuously, on demand, or as retrieved/produced by fluidhandling processor 342. This operational data can further includesoftware version numbers or codes identifying versions of softwarecurrently used by fluid handling processor 342, sub processor 348, andthe like.

Communications module 304A is a device attached to, integrated into, orotherwise commonly situated with fluid handling system 302.Communications module 304A comprises communications module processor352, local transceiver 354, Global Positioning System (GPS) module 356,ambient temperature sensor 358, and remote transceiver 360. In someembodiments, communications modules 304A-304C may be a modular add-oncomponent to fluid handling system 302. In other embodiments,communications modules 304A-304C may be an internal component inside thesame housing or structure as fluid handling system 302. In the depictedembodiment, communications module processor 352 receives operationaldata from fluid handling processor 342 via local transceivers 350 and354. For embodiments in which communications modules 304A-304C areintegrated into fluid handling system 302, transceivers 350 and 354 maybe unnecessary.

GPS module 356 is a global positioning device capable of receiving GPSsignals, and thence determining the location of communications module304 (and thereby fluid handling system 302). GPS module 356 can be a GPStransceiver disposed to communicate with GPS satellites and transmit GPSsignals to communication module processor 352 for processing, or alogic-capable GPS transceiver-processor that itself determines thelocation of communications module 304 from received GPS signals.Although communications module 304A is illustrated with GPS module 356,other location finding systems such as cellular triangulation mayequivalently be used. GPS module 356 provides communications module 352with either processed location data (e.g. latitude and longitude), orwith unprocessed location data (e.g. satellite signals used bycommunications module 352 to determine latitude and longitude).

Ambient temperature sensor 358 is a temperature sensor disposed to senseenvironmental temperatures at or near communications module 304 andfluid handling system 302. Extreme temperatures can adversely affect theviscosity, composition, and degradation of fluids processed by fluidhandling system 302. Ambient temperature sensor 358 provides ameasurement of environmental temperatures that can be used to assess therisk of such adverse temperature reactions.

Communications module processor 352 retrieves operational parametersfrom fluid handling processor 342 as described above, GPS locationinformation from GPS module 356, and sensed environmental temperaturesfrom ambient temperature sensor 358. Communications module processor 352aggregates these data to form a data report that includes bothoperational parameter information (e.g. commanded and sensedtemperatures and pressures, pump cycle counts, software version numbers)and location information (e.g. location coordinates based on the GPSlocation information and a temperature at the location from the sensedenvironmental temperature). This data report is transmitted to datastorage server 308 via communication network 306 by remote transceiver360. Remote transceiver 360 can, for instance, be a cellular or otherwireless transceiver capable of transmitting and receiving signals toand from remote locations. Communications module processor 352 canassemble and transmit data reports periodically, continuously orsemi-continuously, or on-demand in response to user requests or fluidhandling system events (e.g. errors or alerts generated by fluidhandling processor 342).

Data storage server 308 receives data reports from communications module304, and parallel, similar reports from any additional communicationsmodules 304 a and 304 b. Additional communications modules 304 a and 304b can collect different data set from fluid handling systems 302 a and302 b, respectively, and may accordingly transmit reports that differfrom the data reports generated by communications module 304.

Data storage server 308 is a persistent data storage medium that canfurther include a logic-capable processor. In the depicted embodiment,data storage server 308 comprises a plurality of interconnected storagedevices 362 a, 362 b, and 362 c. Storage devices 362 a, 362 b, and 362 ccan, for example, be separate drives arranged in a redundant arrayand/or distributed storage devices situated in disparate locations. Moregenerally, data storage server 308 may comprise any number of datastorage devices, including only a single data storage device. Datastorage server 308 receives data reports from all communication modules(304, 304 a, 304 b, etc.) in remote monitoring system 300, and archivesboth operational parameter information and location information for eachfluid handling system (302, 302 a, 302 b, etc.) in remote monitoringsystem 300.

EUI 310 acts as a terminal by which a human operator can accessinformation stored in data storage server 308 using GUI 320. Althoughonly one EUI 310 is shown in FIG. 2, some embodiments of remotemonitoring system 300 may allow a greater number, or any number, of EUIs310. GUI 320 provides users with a range of aggregated, historical, andreal-time data about multiple fluid handling systems, accessible fromthe single location of EUI 310, which may be remote from any fluidhandling systems. For example, an employee of a company or projectemploying many fluid handling systems (e.g. 302, 302 a, and 302 b) atvarious locations monitor all of these devices from EUI 310. Moreover,because data storage server 308 archives the contents of data reportsfrom each fluid handling system 302, 302 a, 302 b for an extendedperiod, EUI 310 enables users to access and compare historical dataincluding historical sensed and commanded temperatures and pressures,software version histories, pump cycle counts, error and event loghistories, and past device locations/movement. Software version numbersand histories can be used to identify reading discrepancies betweendifferent machines due to differences in software version. Data storageserver 308 can selectively purge some or all of this informationperiodically, e.g. automatically deleting data older than a thresholdperiod. EUI 310 may communicate with data storage device server 308either directly, or via communication network 306.

EUI 310 and data storage server 308 cooperate to provide users withreal-time (or substantially real-time) data and historical data, as wellas data derived from real-time and/or historical data. These deriveddata can be produced at EUI 310 using archived data retrieved from datastorage server 308, or locally at data storage server 308, e.g. ondemand from EUI 310. Derived data available via GUI 320 at EUI 310 caninclude pumped fluid volumes (per hour, per day, etc.) derived from pumpcycle counts and pumping volumes known for each model and application offluid handling system 302. Derived data can also include alerts oralarms generated whenever particular event or error codes are received,and/or whenever operating parameters deviate sufficiently from expectedvalues. For example, EUI 310 and/or data storage server 308 canautomatically generate alerts whenever sensed pressures exceed commandedvalues by more than a threshold amount, or whenever sensed temperaturesdeviate from commanded values by more than a threshold amount for asufficient time. EUI 310 allows users to access a wide range of datapertaining to multiple fluid applicator systems from a remote location,using GUI 320.

FIG. 3A is an illustrative view of one embodiment 320A of GUI 320. Asshown in FIG. 3, GUI 320A includes information screen 400 with aplurality of rows 402 (including rows 402 a and 402 b) with header row404, and columns 406-432 corresponding to particular parameters. Eachrow 402 corresponds to an individual fluid applicator system comprisinga fluid handling system (e.g. 302, 302 a, 302 b) and a communicationsdevice (e.g. 304, 304 a, 304 b), with column entries for that rowrepresenting operational parameter data, location data, or derived datafor that fluid applicator system. Although only one information screen400 is shown, some embodiments of GUI 320 can include multipleinformation screens 400 that can be displayed simultaneously, or whichusers can page between to access information, e.g., pertaining todifferent projects or different fluid applicator system types. Eachinformation screen 400 can be scrollable and/or resizable to change therange and/or scale of rows and columns shown.

As depicted in FIG. 3A, information screen 400 includes device modelcolumn 406, device status column 408, daily material usage column 410,daily actual spray time column 412, daily power on time column 414,daily cycle count column 416, resettable cycle count column 418, A-sidetemperature column 420, B-side temperature column 422, hose temperaturecolumn 424, A-side pressure column 426, B-side pressure column 428, lastdevice data column 430, and data/location column 432. These columnsrepresent one embodiment of information screen 400; in otherembodiments, additional or fewer parameters can be displayed. In someembodiments, the columns displayed on information screen 400 can beconfigurable by end users. Some embodiments may not include locationinformation 432.

In the depicted embodiment of FIG. 3A, device model column 406 displaysthe particular make or model of each fluid applicator system representedin rows 402. EUI 310 and/or data storage server 308 can associate eachmake or model with particular fluid tasks, and/or with known pumpdisplacement values. Status column 408 provides indicators of devicestatus for each fluid applicator system in the form of a colored icon orgraphic. Status column 408 can, for instance, show a green circle for apresently active (i.e. heating and/or pumping) fluid applicator system,a yellow circle for an applicator system that was recently active, and ared circle for an applicator for a system that has not been active forsome time (e.g. >10 minutes). In some embodiments, status column 408 caninclude color or text indicators of alarm conditions or urgent events.In alternative embodiments, other types of indicators may be used. Dailymaterial usage column 410 represents fluid volume pumped by each fluidapplicator system, as calculated from cycle counts and known pumpdisplacement volumes for each device model. Daily actual spray timecolumn 412, daily power on time column 414, and daily cycle count column416 represent corresponding duty parameters determined from archivedprocess parameter data included in the data reports, and resettablecycle count column 418 represents a count of pump cycles since manuallyreset by a user at EUI 310 or LOI 318. These daily value columnscorrespond to aggregated historical values based on archived datareports across an extended time period. Although these columns are shownand described herein as fields corresponding to daily values, other timeperiods can be used as appropriate to each application, e.g. hourly,weekly, monthly, etc.

A-side temperature column 420, B-side temperature column 422, hosetemperature column 424, A-side pressure column 426, and B-side pressurecolumn 428 represent temperatures and pressures taken from the mostrecent data reports from each fluid applicator system. A-side and B-sidetemperature columns 420 and 422 can, for example, represent inlet oroutlet fluid temperatures at respective sides of each fluid applicatorsystem, while hose temperature column 424 can represent temperatures atthe hose-end spray/application location of each fluid applicator system.Last device data column 430 indicates the last time at which a datareport was received from each fluid applicator system.

Data and location column 432 provides a plurality of additional databuttons, including job log button 434, daily usage log button 436, eventlog button 438, and location button 440. Each button calls up additionaldetailed historical data when clicked, e.g. in a popup or drop-downwindow. Job log button 434 calls up a history of temperatures,pressures, cycle counts, and other operational parameters from datastorage server 308. Daily usage button 436 calls up a history by day (inthe exemplary embodiment) of usage statistics, e.g. corresponding tocolumns 410, 412, 414, and 416. Event log button 438 calls up a historyof event and/or error codes. Location button 440 calls up a history oflocations based on GPS location data, indicating where a fluidapplicator system has been, and when it has moved. The historical dataaccessed via buttons 434, 436, 438, and 440 can span the full archivedhistory available from data storage server 308, or only recent events(e.g. the last month, year, etc.).

Each row 402 further includes an expand/contract button 442 that expandsthat row to display additional details 444 (see rows 402 a and 402 b).Additional details 444 may, for example, include device addressinformation, ambient temperature, and last update times for particularinformation, e.g. GPS location, ambient temperature, and/or inlettemperatures. Additional details 444 include data retrieved and archivedin data storage server 308 but not otherwise shown in columns 406-432.

GUI 320 enables users to assess the current status and historicalperformance of multiple devices at a glance, from a remote centrallocation. GUI 320 may, in some embodiments, be customizable to alloweach user to immediately view the information most relevant to his orher own task. In an exemplary embodiment, GUI 320 may be customizable tohide or show particular fields by clicking an icon or graphic such asbutton 442. In further or alternative embodiments, GUI 320 may becustomizable to hide or show particular fields by editing aconfiguration file.

FIG. 3B is an illustrative view of embodiment 320B, an alternativeembodiment of GUI 320. As depicted in FIG. 3B, the information screenmay include, for example, A-side temperature (actual), B-sidetemperature (actual), hose temperature (actual), A-side pressure(actual), and B-side pressure (actual). Some embodiments may not includeall of the above information. For example, some embodiments may onlyinclude one temperature, especially in embodiments that are configuredfor single heater fluid handling systems 302. Other informationdisplayed may include, for example, temperature and/or pressure setpoint(s), pump status (e.g., on or off, etc.), material usage (e.g.,cycle count, volume, etc.), and unit conversion (e.g., degrees F./C,psi/bar/Mpa, etc.).

FIG. 4 is a method flowchart of method 450, an illustrative embodimentof one method of operating remote monitoring system 300. Although method450 illustrates steps performed in one illustrative order, alternativeembodiments of the present invention may perform steps of method 450 indifferent orders, without departure from the present invention.

First, fluid handling system processor 342 retrieves or produces avariety of parameters, as described above. In the depicted embodiment,fluid handling system processor 342 reads an A-side temperature fromtemperature sensor 344 a (Step S1), an A-side pressure from pressuresensor 346 a (Step S2), a B-side temperature from temperature sensor 344b (Step S3), and a B-side pressure from pressure sensor 346 b (Step S4),either directly or via a subsidiary processor such as sub-processor 348.Fluid handling system processor 342 receives temperature and pressureset points corresponding to A-side and B-side commanded temperatures andpressures (Step S5), and pump cycle counts (Step S6). All of theseoperational parameters are assembled into a fluid handling data packet(Step S7) that is retrieved by communications module processor 352 vialocal transceivers 350 and 354. (Step S8). The fluid handling datapacket can additionally contain other information, as described abovewith respect to FIG. 2, such as error and/or event codes, and softwareversions.

Communications module processor 352 reads a GPS location from GPS module356 (Step S9), reads an environmental temperature from ambienttemperature sensor 358 (Step S10), and assembles a data reportcomprising a composite data packet including the contents of the fluidhandling data packet, the GPS location, and the environmentaltemperature (Step S11). In some cases or embodiments, communicationsmodule processor 352 may assemble some data reports without the GPSlocation and/or the environmental temperature, providing thisinformation less frequently, or on demand. Communications moduleprocessor 352 transmits the data report through communications network306 via remote transceiver 360 to data storage server 308, (Step S12)where all of the contained data is archived (Step S13). EUI 310 and/ordata storage server 308 aggregates data across multiple packets fromdisparate devices, assembling historical and derived data. (Step S14).GUI 320 of EUI 310 is then updated with this information. (Step S15).Method 450 repeats at each iteration of data collection, for each fluidapplicator system, although some data collection steps of method 450 maybe skipped in some iterations (e.g. reading GPS locations). Method 450may automatically repeat at fixed intervals and/or on demand.

Method 450 ensures that GUI 320 provides users with substantiallyup-to-date information about a plurality of fluid applicator systems.This information includes not only real-time or quasi-real-timeoperational parameter data such as commanded and actual temperature andpressure readings, but also historical data including usage statisticsfor the past days or months of operation, and derived data such asmaterial usage statistics.

Pumps according to the present disclosure reciprocate a piston within acylinder to pump various fluids, examples of which include paint, water,oil, stains, finishes, aggregate, coatings, putty, sealants, andsolvents, amongst other options. One category of fluid is architecturalcoatings, which includes paint, for roofs, ceilings, walls (interior andexterior), and floors of structures. Paint will be used herein as anexample, although any embodiment referenced herein can be used with anytype of fluid. A piston pump can generate high fluid pumping pressure,such as between 1,000-5,000 pounds per square inch or even higher,although 2,000-3,500 pounds per square inch is a typical range. Highfluid pumping pressure is useful for atomizing the paint from a nozzleinto a spray for applying the paint to a surface as a coating.

FIG. 5 is an isometric view of fluid sprayer 1. FIG. 5 also shows ahandheld computer 14. The handheld computer 14 can be any type ofhand-portable computer. As shown, the handheld computer 14 is a cellularphone, more specifically a smart phone, but can also be a tablet orother type of portable device. The handheld computer 14 has wirelessconnectivity to both the fluid sprayer 1 and an information network,such as the internet, via a cellular, Wi-Fi, or other type of datatransfer connection. The handheld computer 14 is portable and isintended to be fully supported by a single hand of a person andordinarily carried around by a person while working.

FIG. 6 is an exploded view of fluid sprayer 1. FIGS. 5 and 6 will bediscussed together. The fluid sprayer 1 includes a frame 6. The frame 6includes legs in this embodiment for supporting the fluid sprayer 1 onthe floor. The frame 6 can additionally or alternatively include wheelsor other ground-contacting support. In any case, the fluid sprayer 1 canbe carried or otherwise moved by a single person for transport for useat various job sites. The frame 6 fully supports a main housing thatcontains a motor 4 and control 5. The motor 4 is mounted on the frame 6.The fluid sprayer 1 is man-portable and includes a handle 10 fixed tothe frame 6 for picking up and carrying the fluid spray system 1 byhand. Some larger embodiments of the fluid sprayer 1 may be wheeled by aperson tilting and pushing the fluid sprayer 1.

The control 5 delivers power to the motor 4. The motor 4 can be anelectric brushless rotor stator motor, amongst other options. In otherversions, the motor 4 can be a gas (combustion), pneumatic, or hydraulicpowered motor, amongst other options. In this and various otherembodiments, the motor 4 outputs rotational motion. The motor 4 turnsdrive 7, which in the illustrated embodiment includes drive components7A-7C. Drive components 7A-7C in this embodiment includes variouscomponents such as gearing, eccentric, and a crank for turningrotational motion output by the motor 4 into linear reciprocatingmotion. The drive components 7A-7C can include different components,such as a scotch yoke or other mechanism for converting rotation motioninto linear reciprocating motion. The drive 7 connects with a top of apiston 13 of the pump 9 to reciprocate the piston 13 relative to acylinder 12 of the pump 9. The pump 9 can be mounted on the frame 6,such as with a clamp, to brace or otherwise hold the cylinder 12 inplace during reciprocation of piston 13.

The pump 9 takes paint in through the intake hose 2B. The end of theintake hose 2B can be submerged in a bucket filled with paint or otherfluid to be sprayed. The pump 9 places the paint under pressure andoutputs the paint through the hose 2A to the gun 3. The gun 3 includes atrigger which can be actuated by hand to open an internal valve (notillustrated) and release the paint as an atomized spray fan. Once thecontrol 5 is turned on to power the motor 4 and the pump 9 is primed,the fluid sprayer 1 can be operated to spray by pulling the trigger ofthe gun 3.

In typical operation, the fluid sprayer 1 will be used at remote sitesfor painting projects. Some small projects can be completed in an hour,while some projects can take days, weeks, or months. Each painter willtypically be responsible for multiple projects at a time and mightattend to several projects in one day. Sometimes the painter owns thefluid sprayer 1, and may own several fluid sprayers. Sometimes thepainter is employed by a contractor company that owns multiple fluidsprayers and employs multiple other painters. In this case, the fluidsprayer 1 may remain physically located at the site for days whilemultiple painters from the same employer operate the fluid sprayer 1.

Whether the fluid sprayer 1 is owned by a single painter or is part of afleet of sprayers, it is desired to track the usage of the fluid sprayer1. This is for several reasons. The first reason is to trackproductivity and cost associated with a painting project. The maindriving costs of painting projects are the cost of the paint beingsprayed and the labor of the painter operating the fluid sprayer 1. Thepainting project is usually bid out based on square footage of surfaceto be painted, with the cost of paint and labor hours being factoredinto the bid. The painter is then tracked on how efficiently the projectcan be completed. The painter is attempting to manage both the volume ofpaint sprayed and labor hours so as not to exceed the paint gallons orlabor hour assumptions underlying the bid.

Another reason for tracking usage of the fluid sprayer 1 is to ensure itis being used when expected and not being used when expected to be idle(e.g., during off hours by a moonlighting worker). Another reason fortracking usage is to manage maintenance of the fluid sprayer 1. Forexample, seals of the pump 9 should be replaced after a particularnumber of gallons have been sprayed, whereas continuing to spray withoutmaintenance past that number of gallons risks the fluid sprayer 1breaking down in the middle of a project.

Aspects of the current disclosure provide features for monitoring theproductivity of the fluid sprayer 1, including as part of a fleet offluid sprayers, to track usage, productivity, and maintenance, asfurther shown herein. For example, the example techniques described inthis disclosure provide for a technical solution with practicalapplication to improve the operation of fluid sprayer 1 (e.g., such asensuring the fluid sprayer 1 is properly maintained before breakingdown, ensuring that fluid sprayer 1 is utilized efficiently, etc.). Asdescribed in more detail, the example techniques utilize computationalresources available in devices like handheld computer 14 and/orresources available in a cloud-based infrastructure to monitor theproductivity of the fluid sprayer 1, including as part of a fleet offluid sprayers, to track usage, productivity, and maintenance.

FIG. 7 shows a schematic diagram of components of various equipment usedin a wireless network for monitoring the fluid sprayer 1. As shown, thefluid sprayer 1 includes control circuitry 21. The control circuitry 21can be one or more control boards, and can be the same as the control 5.The control circuitry 21 in this embodiment includes a processor 24operatively connected to memory 22. The processor 24 can be amicroprocessor, integrated chip, a controller, a digital signalprocessor (DSP), an application specific integrated circuit (ASIC), afield-programmable gate array (FPGA), or other equivalent discrete orintegrated logic circuitry. The processor 24 can be described, in someexamples, as processing circuitry. The memory 22 can be one or morenonvolatile semiconductor memory chip(s), or other type of memory, forstoring firmware, software, and/or other type of executable programinstructions executable by the processor 24 for managing the operationof the fluid sprayer 1, as well as storing data and other informationthat can be generated and/or received by the fluid sprayer 1. Memory 22can include a dedicated space for firmware and temporary memory space(e.g., a first-in-first-out buffer) as the same or separate chips, forexample.

The control circuitry 21 can include a clock module, or the processor 24can operate a counting routine or other clock function to determinecurrent time and date. In some examples, rather than or in addition tocontrol circuitry 21 including a clock module or processor 24 operatinga counting routine or other clock function to determine current time anddate, handheld computer 14, personal computer 29, and/or network server35 may include clock modules and or operate a counting routine or otherclock function to determine current time and date. As described in moredetail, control circuitry (e.g., one or combination of control circuitry15 of handheld computer 14 or control circuitry 21 of fluid sprayer 1,or possibly other control circuitry) may be configured to determinetiming information (e.g., a time window defined by a difference betweentwo events) to determine usage information of fluid sprayer 1.

Determining usage information of fluid sprayer 1 associated with atiming information (e.g., time window) may allow control circuitry togenerate usage information in a way that is packetized for ease ofstorage in memory (e.g., memory 22 or memory of other devicesillustrated in FIG. 7) and ease of transmission. In this manner, theexample components illustrated in FIG. 7 may operate in a manner thatpromotes efficient memory storage and bandwidth usage while providingfor usage information used to monitor the productivity of the fluidsprayer 1.

In the example of FIG. 7, the control circuitry 21 includes a wirelessmodule 23, which can be a wireless transceiver configured to send andreceive data wirelessly with one or more remote computing devices, suchas the handheld computer 14. In some embodiments, the wireless module 23can be separate from the control circuitry 21 but operatively connectedto the control circuitry 21. As further explained herein, the wirelessmodule 23 can wirelessly communicate with the handheld computer 14. Thewireless module 23 can be configured for wireless communication over alimited distance, such as less than 50 feet, or less than 25 feet, insome embodiments. For example, the wireless module 23 can be configuredfor BLUETOOTH™ protocol communication by sending and receiving data overshort distances using short-wavelength ultrahigh frequency radio wavesin the ISM band from 2.4 to 2.485 GHz. The wireless module 23 isoperatively connected to the processor 24 for receiving commands fromthe processor 24 as well as providing data to the processor 24. In someembodiments, the wireless module 23 can send commands and/or data to theprocessor 24 such that communication is bidirectional.

Although the above example describes the wireless module 23 ascommunicating directly over a limited distance with the handheldcomputer 14, the techniques of this disclosure are not so limited. Insome examples, wireless module 23 may be configured to communicateindirectly with a network, such as the Internet, via cellular network41, such as a cellular base station, WiFi base station, or orbitingsatellite base station. Accordingly, in some examples, rather thanBLUETOOTH communication, the wireless module 23 may communicate with thehandheld computer 14, the personal computer 29, or the network server 35using the cellular network 41. In such examples, the handheld computer14 need not be nearby fluid sprayer 1 and can communicate with the fluidsprayer 23 using its connection to the network (e.g., Internet). Forexample, the wireless module 23 can be used to upload and download datafrom the internet, such as a data managed server network (e.g., in themanner of cloud computing).

Furthermore, in some examples, such as where the wireless module 23 isconfigured to communicate using the cellular network 41, the fluidsprayer 1 may communicate directly with the network server 35 and/or thepersonal computer 29 rather than through the handheld computer 14. Wherethe fluid sprayer 1 communicates with the network server 35 and/or thepersonal computer 29 without using the handheld computer 14, at leastsome, and possibly all, of the functionality of the handheld computer 14may be offloaded to other devices (e.g., the personal computer 29 and/orthe network server 35). Accordingly, the handheld computer 14 may not benecessary in all examples.

The control circuitry 21 further includes a motor controller 25. In someembodiments, the motor controller 25 is not part of control circuitry 21but is nevertheless part of control 5. Motor controller 25 isoperatively connected to the processor 24 for receiving instructionsfrom the processor 24 as well as for providing data to the processor 24.The motor controller 25 can include one or more integrated chips formanaging the operation of the motor 4. The motor controller 25 canoutput one or more signals gating electrical power to the motor 4 fordriving the motor 4 and/or can deliver power to the motor 4 directly.

The motor 4 can be a brushed or brushless direct current electric motor.The motor 4 can be a rotor stator design. In some cases, the motor 4 canbe a combustion engine, such as a gasoline- or diesel-powered motor. Insuch cases, the operation of the motor 4 can still be managed by themotor controller 25, such as by increasing or decreasing the poweroutput of the motor 4 as needed (e.g., by regulating fuel feed). In somecases, there is no motor controller 25 connected to the processor 24,and the motor controller 25 can be a mechanical mechanism for increasingand decreasing the output of the motor 4, such as by increasing ordecreasing the supply of fuel to the motor 4. As previously mentioned,the motor 4 reciprocates the piston 13 relative to the cylinder 12 viadrive components 7A-7C.

The fluid sprayer 1 includes a pressure sensor 28. The pressure sensor28 can be a pressure transducer that measures the hydraulic pressure ofthe paint exiting, or otherwise pumped downstream of, the pump 9. Forexample, the pressure sensor 28 can be located in the paint lineanywhere between the pump 9 and the gun 3, although the pressure sensor28 is typically located close the outlet of the pump 9. The pressuresensor 28 can be part of a hose fitting that attaches to the output ofthe pump 9. The pressure sensor 28 can be a force collector type havinga diaphragm, piston, bourdon tube, or bellows that measures strain ordeflection of an element due to applied force over an area, and cangenerate a signal based on the strain or deflection indicative ofpressure.

Typically, the pump 9 generates pressures of between 500 to 8000 psi foratomizing the paint in a spray. The user can set a desired pressurelevel with an input (e.g., a potentiometer dial) of the control 5, whichis stored in the memory 22. The processor 24 can then receive the outputfrom the pressure sensor 28 and can in turn modulate the output of themotor 4 driving the pump 9 by controlling the motor controller 25 toapproach and maintain the selected pressure.

The fluid sprayer 1 includes a pump cycle sensor 27, which is an exampleof a drive cycle indicator. Examples of the pump cycle sensor 27 areillustrated as the pump cycle sensor 27A, the pump cycle sensor 27B, thepump cycle sensor 27C, and the pump cycle sensor 27D in FIG. 6. Unlessspecifically described otherwise, the pump cycle sensor 27 may refer toany one or more of the pump cycle sensor 27A, the pump cycle sensor 27B,the pump cycle sensor 27C, or the pump cycle sensor 27D.

The pump cycle sensor 27 can take several forms and can measure movementor another parameter of various different components. The function ofthe pump cycle sensor 27 is to provide an indication to the processor 24of one or both of the completion of a cycle or a stage, or progress in,the cycle of the pump 9. For example, the pump cycle sensor 27 can trackand provide an output indicative of a full cycle (e.g., upstroke anddownstroke), a half cycle (e.g., the upstroke or downstroke), or asmaller part of a cycle of the pump 9, such as a quarter or tenth of astroke, amongst other options for cycle increments. The pump cyclesensor 27 can be a linear encoder or Hall effect sensor measuring thetravel or cycle of the piston 13 relative to the cylinder 9 (e.g., pumpcycle sensor 27A of FIG. 6). The pump cycle sensor 27 can be an encoderor Hall effect sensor that measures rotation of any of the drivecomponents 7A-7C (e.g., pump cycle sensor 27B-27C of FIG. 6), such asone complete revolution or degrees of rotation, which have a directrelationship to the cycle of the piston 13. For example, one of thedrive components 7A-7C can have a 24:1 relationship between its completerotation and one cycle of the pump 9. Other ratios are possible.

The pump cycle sensor 27 can measure a parameter of the motor 4. Forexample, FIG. 6 illustrates an example of pump cycle sensor 27D that maybe configured to measure a partial or complete rotation of a rotor,shaft, armature, or commutator of the motor 4. For ease, referencenumeral 26 is shown in FIG. 6 to represent one or more of the rotor,shaft, armature, or commutator of motor 4. The pump cycle sensor 27 canbe an encoder or hall effect sensor that senses partial or completerotation of a rotating component of the motor 4, such as a rotor, shaft,armature, or commutator. In some cases, the pump cycle sensor 27 can bea sensor that measures voltage or current of one or more channels thatconnects with the armature and/or stator windings of the motor 4, thevoltage or current being measured when the channel is not being used todrive the motor 4 to measure induced current indicative of rotation. Aswith the drive components 7A-7C, the rotation of the components of themotor 4 can be directly correlated to the position of the piston 13 orotherwise correlated to the cycle of the pump 9 to determine the statusof the cycle of the pump 9.

As described above, the pump cycle sensor 27 is an example of a drivecycle indicator. The above describes some example ways in which the pumpcycle sensor 27 may determine a status of the cycle of the pump 9 (e.g.,by directly determining the status of cycle based on sensing the drivecomponents 7A-7C or based on the correlations of the piston 13 withcycle of the pump 9). However, the above examples should not beconsidered limiting. A drive cycle indicator, such as the pump cyclesensor 27, may be configured in various ways to determine a status ofthe cycle of the pump 9.

The pump cycle sensor 27 outputs to the control circuitry 21. Forexample, the pump cycle sensor 27 can provide output, directly orindirectly, to the processor 24. The processor 24 can track cycles ofthe pump 9, based on the output received from the pump cycle sensor 27,to determine how much fluid has been output by the pump 9. For example,the diameter and displacement of the piston 13 can be known and/or anassociated value, coefficient, or representative data can be stored inmemory 22. For each partial or full cycle of the pump 9 sensed by thepump cycle sensor 27, a volume of fluid that was output by the partialor full stroke of the pump 9 can be calculated. That is, a volume offluid that was output per stroke of the pump 9 can be represented as aratio: (volume/stroke). The ratio may also be considered as a scalingcoefficient. For example, twenty cycles of the pump 9 may correspondwith a tenth of a gallon pumped (e.g., 0.1 gallon/20 cycles). Therefore,if the pump 9 cycled forty times, then it is known that two tenths of agallon were output by the pump 9 (e.g., 40 cycles*0.1 gallon/20 cyclesequals 0.2 gallons). In another example, a quarter cycle of the piston13 may correspond to 0.01 gallons pumped, so that each quarter strokemeasured can be used to increment a running total of volume pumped by0.01 gallons (e.g., 0.01 gallon/0.25 cycles). As demonstrated, a ratioor coefficient representing volume pumped per pump cycle increment canbe saved in memory (e.g., memory 22) and used to track volume pumpedwithin a time period, such as by multiplying the cycle increments in theperiod of time by the ratio or coefficient, or incrementing a runningtotal for each indication of pump cycle completion received.

As previously mentioned, the pump cycle sensor 27 may directly measurethe movement of the piston 13 or indirectly measure movement of thepiston 13 by measuring correlated movement of drive components 7A-7C, acomponent of the motor 4, or other component or aspect which can be usedfor identifying and counting partial and/or full cycles of the pump 9and/or corresponding fluid output by the pump 9.

In addition to showing components of the sprayer 1, FIG. 7 shows examplecomponents of the handheld computer 14. As previously mentioned, thehandheld computer 14 can be a phone or tablet. The handheld computer 14includes control circuitry 15. The control circuitry 15 can be a singlecircuit board or can be composed of multiple operatively connectedcircuit boards. The control circuitry 15 includes a processor 18operatively connected to a memory 16. The control circuitry 15 caninclude a clock module, or the processor 18 can operate a countingroutine or other clock function to determine current time and date. Theprocessor 18 and the memory 16 can be similar to any version of theprocessor 24 and the memory 22 as previously described, and thereforethe previous discussion on processor and memory options will not berepeated for brevity.

The control circuitry 15 further includes a Global Positioning System(GPS) module 19 or module for another type of satellite geolocationsystem. The GPS module 19 communicates with the processor 18. The GPSmodule 19 can receive multiple location signals from a GPS network 42which can be used (e.g., by the processor 18) to determine theparticular coordinates of the handheld computer 14 on Earth (i.e., ageographic location of the handheld computer 14). There may be otherways in which to determine the particular coordinates of the handheldcomputer 14 and the GPS module 19 provides some example ways. In otherexamples of the techniques of this disclosure, the GPS module 19 is notincluded in the handheld computer 14.

The control circuitry 15 further includes a wireless module 17. Thewireless module 17 can be used to wirelessly communicate with thecellular network 41, such as a cellular network. The wireless module 17can additionally or alternatively be used to connect to other types ofwireless networks, such as Wi-Fi networks, among other possibilities.The wireless module 17 is used for bidirectional communication of dataover the cellular network 41 or other network. For example, the wirelessmodule 17 can be used to upload and download data from the internet,such as a data managed server network (e.g., in the manner of cloudcomputing).

The handheld computer 14 further includes one or more interfaces 20. Theone or more interfaces 20 can include a display, touch screen, keyboard,button(s), and/or other input and output. The one or more interfaces 20can receive data from the processor 18 for representation, such as on adisplay. Likewise, the processor 18 can receive data or other signalsfrom the one or more interfaces 20 corresponding to inputs from theuser, such as inputs received in the form of user gestures (e.g., touchgestures, swipe gestures, pinch gestures, two-finger gestures, or othergesture input). While not illustrated in the example of FIG. 7, thehandheld computer 14 can include a rechargeable battery. The one or moreinterfaces 20 can include and/or take the form of a graphical userinterface (GUI) presented a display screen of the handheld computer 14,such as a touch screen display. The GUI can present graphicalinformation to a user at the display screen. The GUI can include one ormore graphical control elements, such as selection areas, buttons, radiobuttons, menus, drop-down menus, or other graphical control elementsconfigured to receive user input.

FIG. 7 also shows a personal computer 29. The personal computer 29 canbe a desktop, laptop, tablet, or other type of computing device. Invarious embodiments, the personal computer 29 does not communicatedirectly with the sprayer 1 but may indirectly receive data from thesprayer 1 by way of the handheld computer 14, the cellular network 41(or other wireless network), and the network server 35. Various otherembodiments are not so limited. For example, as described above, in someexamples, the fluid sprayer 1 may communicate directly with personalcomputer 29, bypassing handheld computer 14.

The personal computer 29 includes control circuitry 30. The controlcircuitry 30 includes a memory 31 and a processor 33 which can beconfigured or otherwise function as described elsewhere herein for otherprocessor and memory components. The control circuitry 30 includes acommunication module 32. The communication module 32 can be configuredfor wireless and/or wired data communication, including sending andreceiving data. Communication module 32 can be a card for wirelessconnectivity to a data network and ultimately the internet. For example,the communication module 32 can include a chip, antenna, and/or othercircuitry for wireless communication according to the IEEE 802.11standards, commonly known as Wi-Fi. The communication module 32 canadditionally or alternatively include a network interface card for wiredconnection with a data network and the Internet.

The personal computer 29 includes one or more interfaces 34. The one ormore interfaces 34 can be a screen (e.g., a computer monitor), atouchscreen, a keyboard, a mouse, and/or other input or outputcomponent. The one or more interfaces 34 can receive data for displayingor otherwise representing data from the processor 33, and the one ormore interfaces 34 can likewise transfer inputs from the user to theprocessor 33.

The network server 35 may be one of many network servers 35 that managedata in a distributed manner, such as in the manner of cloud computing.The network server 35 includes control circuitry 36. Control circuitry36 can be similar to control circuitry 30, and as such can be a singleor multiple circuit boards. The memory 37, the processor 39, thecommunication module 38, and the interface 40, can operate similarly tothe memory 31, the processor 33, the communication module 32, and one ormore interfaces 34 of the personal computer 29. However, it is expected,but not necessarily the case, that the memory 37 of the network server35 has larger capacity and the processor 39 of the network server 35 ismore powerful/faster.

As further described herein, the sprayer 1, the handheld computer 14,the personal computer 29, and the network server 35 work together tomonitor the performance and productivity of the sprayer 1. Moreover, thesprayer 1 can be one of several sprayers, and the handheld computer 14can be one of several handheld computers, such that the network server35 and the personal computer 29 manage data for a fleet of sprayers.Even though the subsequent examples provide techniques for generationand extraction of data from the fluid sprayer 1 by the handheld computer14, it will be understood that these and other functions can beperformed with various other types of sprayers and handheld computers.Moreover, in some examples, the fluid sprayer 1, the handheld computer14, the personal computer 29, and the network server 35 may operatetogether to perform the example techniques described in this disclosure.As an example, in some cases, control circuitry may refer to one orcombination of the control circuitry 15 of the handheld computer 14, thecontrol circuitry 21 of the fluid sprayer 1, the control circuitry 30 ofthe personal computer 29, or the processor 39 of the network server 35.

FIG. 8A shows a flowchart of a process for generating time-based usageinformation on the sprayer 1. The process can be performed by thecontrol circuitry 21. More particularly, the process can be performed bythe processor 24 and the memory 22 by receiving inputs from the pumpcycle sensor 27 and the pressure sensor 28. FIG. 8B shows a variation ofthe process of FIG. 8A divided into two concurrent processes A and B.Both processes A and B can be performed by the control circuitry 21. Insome cases, both processes A and B can be performed by processor 24(which can be a single processor or respective processors for processesA and B). In some cases, process A is performed by processor 24 whileprocess B is performed by wireless module 23 (which itself can include aprocessor). As noted above, the example techniques of FIGS. 8A and 8Bmay be performed by the control circuitry 21 or in combination withother control circuitry.

The process of FIG. 8A includes a step 50 of the control circuitry 21opening a new time window. A spray volume log count can be created inthe memory 22 for each window opened. A log as referenced herein can bea table, array, queue, linked list, hash table, or other type oforganized storage in memory of similar data collected over time forlater retrieval. A log count can be an incrementing of a log of a typeof data when an event is recognized. A cleaning volume log count can becreated in the memory 22 for each window opened. The cleaning volume logcount can be a table, array, queue, linked list, hash table, or othertype of log in which data can be stored in an organized manner for laterretrieval. In various embodiments, each time window has only onecleaning volume log and only one spray log associated therewith,although other types of logs tracking other data may be maintained.Likewise, each cleaning log is associated with only one respective timewindow, and each spray volume log is associated with only one respectivetime window.

Each time window represents a predetermined amount of time. In variousembodiments, that predetermined amount of time is one hour (60 minutes),such that each opened time window represents the volume of paint sprayedin an hour. Other time window durations are possible. In variousembodiments, all time windows will have the same duration, one timewindow will be open at all times, and only one window will be open atany given time, such that the windows are consecutively open and closed.The time window can be synced to hours of standard time, such that awindow opens at the top of each standard time hour (e.g., 9 am, 10 am,11 am, etc.). Each saved time window entry can include data indicatingthe standard time and date (e.g., 9 am-10 am, Aug. 5, 2018) of thewindow. Time zone and other time shifting data may also be saved in thetime window entry. In some cases, the sprayer 1 may have no way toidentify its location (e.g., GPS chip or Wi-Fi connection), and thus nolocation information is saved in connection with the time windows orother collected information.

There may be other ways in which to form a time window. For example, aclock module of control circuitry 21 may increment once a second for theduration of the time window (e.g., 3600 increments for a one hour timewindow). The clock module may start when fluid sprayer 1 is positionedfor spraying and stop counting when fluid sprayer 1 is not positionedfor spraying (e.g., based on an accelerometer or gyroscope in fluidsprayer 1). In some examples, the clock module may be continuouslycounting.

The process further includes a step 51 of the control circuitry 21determining whether the current time window has expired. For example,step 51 can evaluate whether the current time is outside of thedefinition of the window (e.g., onboard clock indicates it is currently10:01:01 am while the time window spans 9:00:01 am-10:00:00 am). In step51, the control circuitry 21 can check a counter that can increment witheach second over the predetermined amount of time corresponding to theduration of the time window, such as an hour. While the newly openedtime window is unlikely to have expired in one iteration soon after theopening of the window, step 51 is useful for the process for lateriterations when returning to step 51.

If the current time window has indeed expired at step 51 (assumingmultiple iterations of the process), then the process proceeds to step52 in which the control circuitry 21 may close the current time windowand the process returns to step 50 in which a new window is opened. Ifin step 51 the current time window has not expired, then the processadvances to step 53.

In step 53, the control circuitry 21 may receive an indication of pumpcycle. The indication can be received by the processor 24 from the pumpcycle sensor 27. The indication of pump cycle can be an indication thata rotating or reciprocating element completed a cycle or completed aportion of a cycle, as previously described. In some cases, theindication may be zero, or the indication might not be received, whereineither case indicates that the pump 9 is not being driven by the motor 4or the pump 9 is otherwise not cycling. In some cases, the indicationreceived from the pump cycle sensor 27 can indicate that a volume offluid has been pumped, such as an indication corresponding to thepartial or complete cycle of the pump 9. In some embodiments that countby tenths of fluid volume, the indication can indicate that a 0.1 gallonincrement of fluid was pumped according to the pump cycle sensor 27.

In step 54, the control circuitry 21 may receive an indication of apressure parameter. The pressure parameter can be the output of thepressure sensor 28 measuring the pressure of the paint downstream of thepump 9 and upstream of the gun 3 and then received in step 54. In somecases, the received indication of the pressure parameter may be thecurrent pressure setting and not a measured pressure. It is noted thatthe orders of steps 53 and 54 may be reversed, or they may be concurrent(e.g., contemporaneous).

After receiving the indication of the pressure parameter in step 54, thecontrol circuitry 21 references (e.g., associates) in step 55 theindication of the pressure parameter relative to a spray threshold. Thepressure parameter referenced (e.g., associated) is the pressureparameter received in that iteration of the process, and subsequentloops of the process will reference updated pressure parameters receivedin the respective loops. The spray threshold can be a threshold thatdistinguishes between a spray pressure generated by the pump 9 and alower cleaning pressure generated by the pump 9. For example, step 55may determine whether the pressure parameter of step 54 is greater than(or equal to) a stored spray pressure threshold representing a spraypressure.

As an example, the control circuitry 21, as described above with step53, may receive the indication of cycle status of the pump 9 anddetermine a plurality of fluid output values representing fluid outputvolume over time based on the indication of the cycle status of the pump9. The control circuitry 21 may store the plurality of fluid outputvalues in memory 22 of the control circuitry 21. For instance, asdescribed above, the memory 22 may store a ratio or coefficient valuethat indicates the volume of fluid that is sprayed per cycle of the pump9. Based on the cycle status of the pump 9, the control circuitry 21 maydetermine the volume of fluid that the fluid sprayer 1 sprayed (e.g., aratio or coefficient value multiplied by the number of strokes throughthe cycle). The control circuitry 21 may perform multiple suchmeasurements over time (e.g., within a time window) to determine aplurality of fluid output values.

Each of the fluid output values may be associated with a fluid pressure.For example, a first fluid output value of the plurality of fluid outputvalues may be based on a first cycle status of the pump 9 and a firstfluid pressure may be the pressure of the spray during the first cycle.A second fluid output value of the plurality of fluid output values maybe based on a second cycle status of the pump 9 and a second fluidpressure may be the pressure of the spray during the second cycle. Inthis example, the first fluid pressure is associated with the firstfluid output value and the second fluid pressure is associated with thesecond fluid output value.

The control circuitry 21 may be configured to compare respective fluidpressure, associated with respective fluid output values, to thethreshold. Based on the result of the comparison, the control circuitry21 may determine whether or not to store the associated fluid outputvalue. As described in more detail elsewhere in this disclosure, if thefluid pressure is less than or equal to the threshold, then the fluidsprayer 1 was in a non-atomizing flushing mode (e.g., cleaning mode orflushing mode), which tends not to cause wear and tear on the fluidsprayer 1. If the fluid pressure is greater than the threshold, then thefluid sprayer 1 is being used for its intended purpose (e.g., sprayingcoats of paint and is in a paint spraying mode also called fluidatomizing spray mode), which tends to cause wear and tear on the fluidsprayer 1. In some examples, storing information of when the fluidsprayer 1 was operating for its intended use (e.g., in fluid atomizingspray mode) may be more important than when the fluid sprayer 1 was innon-atomizing flushing mode (e.g., cleaning mode), such as fordetermining whether the fluid sprayer 1 is due for maintenance ornearing its end-of-life.

For instance, the control circuitry 21 may compare the first fluidpressure, associated with a first fluid output value, to a threshold andcompare the second fluid pressure, associated with a second fluid outputvalue, to the threshold. The control circuitry 21 may store the firstfluid output value in a spray log tracking volume based on the firstfluid pressure being above the threshold, and not store the second fluidoutput value in the spray log tracking volume based on the second fluidpressure not being above the threshold. Also, the control circuitry 21may store the second fluid output value in a cleaning log trackingvolume based on the second fluid pressure not being above the threshold,and not store the first fluid output value in the cleaning log trackingvolume based on the first fluid pressure being above the threshold.

In various embodiments, spray threshold can be a pressure value above 5PSI, above 50 PSI, above 100 PSI, above 200 PSI, or above 400 PSI, amongother options. In various embodiments, the spray threshold can be apressure value between 5-500 PSI, 50-500 PSI, 100-500 100 PSI, 200-500PSI, 300-500 PSI, or 300-400 PSI, among other options.

Before returning to step 55, a discussion of the cleaning procedure willbe helpful. An operator of the sprayer 1 will typically spray paint at apressure above 500 PSI, and more likely between 1000-4000 PSI, toadequately atomize the fluid being sprayed to form a desired spray fanwith which to evenly coat surfaces being sprayed. At the end of thespray session (e.g., at the end of the job and/or day) the operator willordinarily flush and clean the sprayer 1 (including the pump 9) withwater or other solvent to remove paint before the paint dries, whichwould otherwise risk seizing the pump 9 or clogging a fluid line. Suchflushing is normally done below 500 PSI, and is ordinarily done wellbelow 400 PSI, because no atomization of the flushing fluid is neededand high flow is desired instead of high pressure. The operator may setthe output pressure between 100-400 PSI (e.g., manually with thepressure dial or automatically by selecting a cleaning mode) and feedwater into the intake hose 2B. The operator may also remove theatomizing nozzle in the gun 3 to transition the sprayer 1 from highpressure, low volume spraying to high flow, low pressure cleaning. Basedon the pressure setting, the processor 24 will control the motorcontroller 25 to maintain the measured pressure at the pressure settingas assessed by the pressure sensor 28. The pump 9 is used to move thecleaning fluid through the sprayer 1 but the pumped volume of cleaningfluid should not be counted as a volume (e.g., gallon) of sprayed paintfor several reasons. A first reason is that if tracking paintingproductivity and/or paint consumption, then cleaning volume should notbe counted as painting volume. Also, pumping of cleaning fluid at lowpressure is not as stressful on the sprayer 1 components and does notcontribute to wear of the components to the degree that high pressurepumping of paint does.

Step 55 is used to discriminate between cleaning volume pumped and sprayvolume pumped by comparing the measured or set pressure to a spraythreshold. If the received pressure parameter is above the spraythreshold, then the received indication of a pump cycle in step 53 isassumed to relate to (i.e., categorized as) spraying, and the volumepumped will be allocated to a spray log and not a cleaning log. If thereceived pressure parameter is below the spray threshold, then thereceived indication a pump cycle in step 53 is assumed to relate to(i.e., categorized as) cleaning, and the volume pumped will be allocatedto a cleaning log and not a spray log. Accordingly, the controlcircuitry 21 may store the first fluid output value, associated with afirst fluid pressure, in a spray log tracking volume based on the firstfluid pressure being above the threshold, and not store the second fluidoutput value, associated with a second fluid pressure, in the spray logtracking volume based on the second fluid pressure not being above thethreshold. Also, the control circuitry 21 may store the second fluidoutput value, associated with a second fluid pressure, in a cleaning logtracking volume based on the second fluid pressure not being above thethreshold, and not store the first fluid output value, associated with afirst fluid pressure, in the cleaning log tracking volume based on thefirst fluid pressure being above the threshold

As an alternative to using a pressure parameter, in some embodiments, auser indicates, using an one or more interfaces 20 on the sprayer 1(e.g., a button), whether a spraying or cleaning mode (e.g.,non-atomizing flushing mode) has been entered. In such examples, at step55, the control circuitry 21 may be a check whether the sprayer 1 is ina fluid atomizing spray mode or a cleaning mode and allocate spraying orcleaning volume accordingly in respective spray or cleaning volume logs.

If in step 55 the pressure parameter is less than the spray threshold,then the process advances to step 56 and the control circuitry 21increments a cleaning log volume count. The cleaning log volume countcan be stored in memory and associated with the open time window. If instep 55 the pressure parameter is greater than the spray threshold, thenthe process advances to step 57 and increments a spray volume log countassociated with open time window. The volume increment for eithercleaning or spraying can correspond with the indication of the pumpcycle received in step 53. For example, if an indication of thecompletion of one piston cycle is received, then the displaced volumefor one piston cycle (and/or just an indication of completion of apiston cycle) may be incremented in either the cleaning volume log orthe spray volume log. In some cases, if an indication of the completionof a partial piston cycle is received, then the displaced volume for thepartial piston cycle (and/or just an indication of completion of thepartial piston cycle) may be incremented in either the cleaning volumelog or the spray volume log.

It is noted that some embodiments do not include a cleaning log volumecount, in which case no cleaning log volume count is maintained inmemory and accordingly is not incremented if the pressure parameter isless than the spray threshold. The check of the pressure parameterrelative to the spray threshold can still be useful to discriminatebetween spray volume and cleaning volume so as not to count cleaningvolume as spray volume. In which case, the indications of pump cycle arenot counted or otherwise stored in any memory past the comparison ofstep 55. It may be useful, but not necessary, to discriminate betweenspraying and cleaning pumped volume because paint is more expensive thancleaning fluid (typically water), spraying represents productivity on aproject for a painter, and spraying at high pressure wears the motor 4,drive components 7, and pump 9 faster than low pressure cleaning,amongst other reasons.

It is noted that if there is no increment or other type of advancementor change in the indication of pump cycle as compared to the previousiteration of the loop and step 53, then no increment, increase, or otherchange is made in either the cleaning volume log or the spray volume logfor that loop of the algorithm of FIG. 8A. If such a check indicates nochange, then the process can proceed from step 53 directly to step 51.In some embodiments, as part of step 53, the process frequently checks(e.g., every ¼ or 1/10 of a second, or multiple times per second) thecurrent indication of pump cycle, and if there was a change relative tothe last check, then a lifetime pump cycle counter stored in memory 22is incremented, the lifetime pump cycle counter representing the totalpump cycles over the then-current lifetime of the sprayer 1. Instead ofa lifetime pump cycle counter, the counter may be a pump cycle counterthat represents a broader timeframe (e.g., resetting once per day, week,month, or year) than the time window which may only be an hour. A checkcan then be performed periodically, (e.g., once per second or once everyten seconds, but less frequently than the check of the indication ofpump cycle) of the lifetime or other counter to see if there is a changerelative to the last time the counter was checked (e.g., one second agoor last loop iteration). If there is a change, the amount of change isused to calculate or otherwise determine (e.g., by subtracting thecounter level at last check from the current counter level) the volumepumped since the last check, the volume being used to increment logs asfurther discussed in connection with steps 56, 57.

After incrementing in either step 56 or 57, the process returns to step51 to check the current time window to see if the current time windowhas expired. If the current time window has expired, then the currentwindow is closed in step 52 and the spray volume (also called fluidoutput value) incremented or otherwise counted is saved in memory 22 forthat time window. As such at the end of the time window, such as afteran hour or otherwise representing an hour of data, the processcalculates the volume sprayed (and optionally pumped for cleaningpurposes) in that time window. Because the process includes counting thenumber of spray volume increments dispensed in each of consecutivewindows, the process tracks productivity over a period of timecomprising multiple time windows.

In some embodiments, the incrementing steps 56 and 57 can save a check(or other type of increment) in memory 22 associated with the timewindow for the spray volume log and/or the cleaning volume log. Eachcheck can represent a full or partial pump cycle, but in either case itis known (e.g., saved in memory 22) or can be calculated (e.g., based ondisplacement of the piston 13) how much fluid would have been pumped byeach full or partial pump cycle. The checks made within a time windowcan be totaled after closure of the time window to calculate the totalvolume sprayed or flushed in a cleaning procedure with the time window.Alternatively, the checks can be totaled as a running volume valuethrough the course of the time window, the total being updated with eachpump cycle increment.

For example, for one time window, five different checks or incrementscan be saved in association with a spray volume log in step 57, whichcan later be totaled and a total spray volume for the window calculated.Alternatively, a counter can be maintained during the window andincremented at each occurrence of step 57. For example, for the firstoccurrence of step 57, the counter would be at one, and after the secondoccurrence the counter would be at two, after the third occurrence thecounter would be at three, and so on. As another alternative, step 57could include calculating and saving the volume sprayed instead ofsaving checks or increments. For example, the first occurrence of step57 might count 0.1 gallons sprayed, and the second occurrence of step 57might increment the total count to 0.2 gallons sprayed, and the thirdoccurrence of step 57 might increment the total count to 0.3 gallonssprayed.

Below is an example table which can correspond with data stored inmemory 22 for multiple time windows. As shown, each time window extendsfor an hour, and various types of data are stored for each time window.The data includes a window serial number (which are incrementedsequentially and not repeated to provide a reference independent of timefor each window), date of the window, timeframe of the window, sprayvolume pumped during the window, and cleaning volume pumped during thewindow. In some cases, only dates and times are used, instead of windowserial numbers, to differentiate data sets corresponding to differenttime periods. This table shows the time before a working session (inwhich no spraying or cleaning volumes are logged), the time in whichwork is occurring including spraying transitioning into cleaning, andthe time after the working session (in which no spraying or cleaningvolumes are logged), which can be reviewed later to track productivityand paint usage and otherwise profile the use of the sprayer 1.

Spray Cleaning Window # Date Time volume volume 13256 Aug. 5, 20186am-7am 0.0 0.0 13257 Aug. 5, 2018 7am-8am 4.5 0.0 13258 Aug. 5, 20188am-9am 5.4 0.0 13259 Aug. 5, 2018  9am-10am 1.8 0.0 13260 Aug. 5, 201810am-11am 0.3 5.1 13261 Aug. 5, 2018 11am-12pm 0.0 0.0

In some embodiments, the above data types are the only types of datasaved for tracking productivity. For example, the voluminous pressureand pump cycle data received in steps 53 and 54 are not saved, or aresaved only so long as to complete the current loop, or are saved onlyuntil closure of the time window, but in any case are not referenced orotherwise used following closure of the time window. Saving only onespray volume value and one cleaning volume value for each time window,which can be calculated from thousands of measurements, minimizes datastorage and data transmission. For example, the pressure and pump cycledata of steps 53 and 54 are not saved as part of the spray volume andcleaning volume logs, nor is the pressure and pump cycle data of steps53 and 54 transmitted off of the sprayer 1. That is, the pressure andpump cycle data can be deleted (i.e., removed from memory), such as uponclosing of a respective time window. Accordingly, in some examples, onlythe aggregated running total of output volumes (spraying and/or cleaningvolumes) can be stored for each time window, thereby decreasing anamount of data stored within memory of the sprayer. In this manner, theexample techniques may packetize and reduce the amount of data thatneeds to be stored and transmitted, thereby promoting memory storage andtransmission bandwidth, while ensuring that sufficient data is availableto track productivity of the sprayer 1 (e.g., which may includeproductivity of sprayer 1 or the user of sprayer 1).

In FIG. 8A, in some embodiments, if the indication of pump cycle of step53 is the same as the last iteration of the process (e.g., the pump 9has not been driven or otherwise cycled in any way since the lastiteration) than the process loops back to the window steps (e.g., step51) without updating the spray volume log in step 57 or the cleaning login step 56 (e.g., pump cycle information is not saved or otherwiselogged for that iteration of the process).

FIG. 8B shows flowcharts of processes A and B. Processes A and B can bepart of the processes of the embodiment of FIG. 8A. As previouslymentioned, processes A and B can be performed by the control circuitry21 (or possible other circuitry in combination with control circuitry21). Process A can be performed by the processor 24, which can be one ordual processors performing the respective processes A and B. In someembodiments, process A can be performed by processor 24 while process Bcan be performed by the wireless module 23.

Similarly numbered steps between the embodiments of FIGS. 8A and 8B canbe the same between the two embodiments of FIGS. 8A and 8B. Additionalsteps include step 57A, in which a spray volume log count is updated ifthe pressure parameter is greater than a spray threshold is determinedby step 55. The updating of step 57A can include increasing a runningtotal of spray volume stored in memory 22. For example, if the currentiteration of process A measures a 0.0001 gallon output based on thereceived indication a pump cycle in step 53, then the running total ofspray volume can be increased by 0.0001 gallons. Step 57A alternativelystores a spray volume count in a log in memory 22, wherein iterations ofprocess A create serial spray volume log entries of the volumes sprayed,if any, which can later be totaled or otherwise aggregated.

The embodiment of process A further includes step 58A in which theupdated spray volume log count is sent. Step 58B includes receiving theupdated spray volume log count for use in process B. The sending of step58A can include sending between components of control circuitry 21, suchas between processors and/or wireless module. For example, the processor24, while performing process A, can send the updated spray volume logcount to the wireless module 23, performing process B. Sending can alsoinclude sending to the memory 22 for temporary storage before beingreferenced in the memory 22 in the receiving step 58B.

Process B includes a step 59 of determining whether the spray volume logcount has changed. If the updated spray volume log count is not receivedin step 58B, or is received but is the same as the last time it wasreceived in the last iteration of process B (e.g., is equal to the sprayvolume log count stored in memory 22 in the last iteration), then theprocess B can return to step 51 of determining whether the current timewindow has expired. However, if the spray volume log count has changedsince the last iteration of process B (e.g., is not equal to the sprayvolume log count stored in memory 22 in the last iteration), then thespray volume log for the current time window is updated in step 57B. Instep 57B, the updated spray volume log for the current time window isattributed or otherwise saved in connection with the current open timewindow. The updated spray volume log the current time window can be arunning total of volume sprayed within the open time window, whereineach update increases the running total by the amount measured for thecurrent iteration (e.g., the amount received in step 58B, or thecalculated difference between the amount received in step 58B in thecurrent iteration of process B as compared to the last iteration ofprocess B).

FIG. 8C shows a flowchart of a process for generating time-basedpressure information on the sprayer 1. The process can be performed bythe control circuitry 21. More particularly, the process can beperformed by the processor 24 and memory 22 by receiving inputs from thepump cycle sensor 27 and the pressure sensor 28. Generally, the sprayer1 collects pressure measurements when the pump 9 is being operatedduring a time window. Pressure measurements collected when the pump 9 isnot being operated are not saved. The sprayer 1 calculates an aggregatepressure parameter, such as average pressure, based on closure of thewindow from pressure data collected within the time window to representa pressure metric for the time window.

Step 160 includes opening a new time window. Step 161 includesdetermining whether the current time window has expired. Step 168includes closing the current time window. The step 160 can be the sameas step 50, step 161 can be the same as step 51, step 168 can be thesame as step 52, such that the time window is the same for bothprocesses. Alternatively, the operation of a time window for pressuredata can be performed similarly to any time window operation referencedherein. Therefore, the process of FIG. 8A can run concurrently with theprocess of FIG. 8C and similar steps can be the same step between theprocesses. In other embodiments, steps 160, 161, 168 can operatesimilarly to steps 50, 51, 52, respectively but can be different timewindows corresponding to different periods of time. For example, thelength of the time window of the process of FIG. 8A can be less than thelength of the time window for the process of FIG. 8C (e.g., one hour andmultiple hours (e.g., 24 hours), respectively). Due to the similaritiesof steps, the opening and closing the time window will not be presentagain, but any of the time window options referenced herein are possiblefor this embodiment.

Step 162 includes checking the pump status. Checking the pump 9 statuscan include determining if the pump 9 is currently being cycled, such aswhether the piston 13 is being reciprocated. Checking the pump 9 statuscan be performed by receiving a signal from the pump drive cycle sensor27. Checking the pump 9 status can include determining if the motor 4 isoperating (e.g., outputting rotational motion to pump 9). Checking thepump 9 status can include determining whether the processor 24 and/ormotor controller 25 is causing driving power to be delivered to themotor 4. A comparison can be performed to determine whether the positionof components (e.g., drive components on which sensor components aremounted) has changed since the last time data was received, which can beon a quarter second or other short, periodic basis.

Step 163 includes determining whether the pump 9 is being operated. Theassessment of step 163 is performed based on the information collectedin step 162. Step 163 can include comparing the most recently receivedpump drive cycle sensor 27 output to the second most recently receivedpump drive cycle sensor 27 output to determine whether the state of thepump has changed. Step 163 can include a binary determination of whetherdriving power is being delivered to the motor 4 by the motor controller25.

If step 163 determines that the pump 9 is not being operated (“no”), theprocess loops back to the time window steps, such as step 161 or anotherstep. If step 163 determines that the pump 9 is being operated (“yes”),the process continues to step 164. In step 164, the measured pressure isreceived. Step 164 could be the same as step 54 or any other stepreferenced herein for measuring pressure or otherwise receiving pressuredata. The process advances to step 165 in which the measured pressure iscompared to a pressure threshold. Based on this comparison, in step 166if the measured pressure is greater than the pressure threshold then theprocess advances to step 167. If the measured pressure is less than thepressure threshold, then the process can revert back to assessing timewindows, such as example step 161. The pressure comparison in steps 165and 166 can be similar to the comparison of step 55. For example, thepressure threshold can be the same value, and the check may be performedonly once and the results of the check used to drive each process. Thepurpose of the check is that some operations of the pump 9 may notcorrespond to spraying. For example, some low pressure operationsconcern cleaning the pump which do not put as much wear on the pumpparts (e.g., by pumping water instead of abrasive paint) and are notindicative of high-pressure airless spraying which puts more mechanicalstress on the parts due to the high pressure. The pressure threshold canbe 400 pounds per square inch. The pressure threshold can be 500 poundsper square inch. The pressure threshold can be between 50 pounds persquare inch and 700 pounds per square inch. Other threshold values arepossible, including higher and lower threshold values.

If in step 166 it is determined that the measured pressure is greaterthan the pressure threshold, then the process can in step 167 save themeasured pressure from step 164 in a pressure log. Logging the measuredpressure can include saving an indication of each pressure value inmemory 22. After the measured pressure is saved, the process returns tothe window steps, such as step 161 determine whether the current windowhas expired. In this way the process of FIG. 8C can loop iteratively ona periodic basis, such as once every quarter second, once every second,once every ten seconds, once every minute, or on some other periodicbasis. A dwell step might be inserted in the loop to ensure that eachiteration is performed on a scheduled periodic basis. The measuredpressure is stored in the pressure log for every iteration of the loopin which the pump 9 is being driven. The measured pressure is not storedfor any iteration of the loop in which the pump 9 is not being drivenbecause such pressure is not indicative of the pressure when spraying.Only saving pressure measurements in the pressure log when sprayingmeans that the pressure log for each time window will only indicate thespray pressure and not the pressure which may have been measured in thewindow while not spraying, which may include fluctuations due to spikesand/or pressure control changes by the user.

When an iteration of the loop step 161 determines that the duration ofthe current time window has expired, then the process moves to step 168in which the current time window is closed. Based on the closure of thewindow, the process in step 169 calculates the aggregate pressureparameter for the time window (e.g., the time window that disclosed)using the pressure log that was generated during the time window. Theaggregate pressure parameter can be the average pressure calculated fromall of the logged (e.g., step 167) measured pressure values (e.g., step164) in that time window. For example, all of the pressure values can beadded together then divided by the number of pressure values. In someembodiments, the pressure log comprises a first number representing arunning sum of all pressure values and a second number representing thenumber of values contributed to the running sum, so that the calculationof the average pressure for the time window comprises dividing the firstnumber by the second number. Alternatively, the median or mode pressurevalue can be calculated for the time window. The aggregate pressureparameter then indicates the spray pressure used within the time window.The process can be repeated to calculate different aggregate pressureparameters for various time windows, including consecutive time windows,to understand changes in aggregate pressure parameter over multiple timewindows.

Such an aggregate pressure parameter can be useful in understanding thequality of the spray. Lower pressure spray typically produces a betterfinish and less paint wastage while high-pressure spray might providehigher hourly productivity. Reporting of aggregate pressure parametersfor time window can provide an indication of whether the painter favoredquality and paint efficiency or speed for the particular time window.The purpose in only logging pressure measurements from when the pump 9is being driven for the aggregate pressure parameter is that pressuremeasurements during non-spray periods are not indicative of the sprayquality even though the measured pressure may be near the spraypressure. Likewise, pressure threshold check of step 166 candifferentiate between cleaning and spraying, whereby the measuredpressure during cleaning would spoil the aggregate pressure parameter ifincluded.

After calculation of the aggregate pressure parameter value, thepressure log for the time window can be deleted from memory 22 while theaggregate pressure parameter value can be saved. As further discussedherein, the aggregate pressure parameter value can be wirelesslycommunicated to the handheld computer 14 and then to the network server35. Only saving the aggregate pressure parameter value after closure ofthe window while deleting most or all of the pressure measurement values(and the indicator of pump status) from the time window saves space inmemory 22 and is more efficient to transmit to the handheld computer 14and the network server 35.

In some embodiments, the measured pressure values and/or the pump statusindicator data are wirelessly transmitted from the sprayer 1 to thehandheld computer 14 and the handheld computer performs the steps ofFIG. 8C. However, such a system may not be ideal because data may bethen lost when the sprayer 1 is not in wireless communication with thehandheld computer 14. Therefore, calculation of the aggregate pressureparameter aboard the sprayer 1 captures the data regardless of whetherthe handheld computer 14 is in range of the sprayer 1, allowingaggregate pressure parameters for multiple window time windows to beuploaded when in range.

Accordingly, the examples illustrated with FIGS. 8A-8C describes a handportable paint sprayer 1 for spraying spray fluid. Control circuitry 21may be configured to receive plurality of cycle status indications ofpump 9 and determine a plurality of output values representing sprayfluid output volume over a plurality of time windows. Output values(e.g., spray fluid output values) may refer to fluid output values whensprayer 1 is in the fluid atomizing spray mode. For example, asdescribed above, in some examples, output values may indicate sprayfluid output volume when sprayer 1 is in the fluid atomizing spray modeand exclude fluid output values when sprayer 1 is in the non-atomizingflushing mode (e.g., cleaning mode or flushing mode). Control circuitry21 may store the plurality of spray fluid output values (or simply“output values”) generated over a plurality of time windows (e.g., asdescribed with respect to FIGS. 8A-8C) in memory 22 and cause wirelessmodule 23 to transmit one or more of the stored output values externallyfrom the sprayer.

For instance, as described in more detail, handheld computer 14 mayrequest for output values that are stored in memory 22 but were notpreviously output from memory 22. In such examples, wireless module 23may transmit some, but may be not all, of the stored output values(e.g., not transmit previously transmitted output values). As anotherexample, based on connectivity of handheld computer 14 to cellularnetwork 41, handheld computer 14 may request for all of the storedoutput values or some of the output values.

Whether sprayer 1 is outputting spray fluid (e.g., paint) may be basedon whether sprayer 1 is in fluid atomizing spray mode or non-atomizingflushing mode. Control circuitry 21 may determine a spray fluid outputvalue based on sprayer 1 operating in the fluid atomizing spray mode(e.g., paint spraying mode). There may be various ways in which controlcircuitry 21 may determine if sprayer 1 is in a fluid atomizing spraymode or non-atomizing flushing mode. As one example, control circuitry21 may rely on user selected operation mode (e.g., a user indicates,using an one or more interfaces 20 on the sprayer 1, whether a fluidatomizing spray mode (e.g., paint spraying mode) or non-fluid atomizingspray mode (e.g., non-spraying mode) has been entered).

In some examples, control circuitry 21 may determine whether anindication of the cycle status from the plurality of cycle statusindications of pump 9 is associated with sprayer 1 being in fluidatomizing spray mode or a non-atomizing flushing mode. For instance,control circuitry 21 may determine, for a particular indication of theplurality of cycle status indications, whether the pressure associatedwith that particular indication is greater than a spray threshold orwhether sprayer 1 was in fluid atomizing spray mode. In such examples,control circuitry 21 may determine a spray fluid output value for theindication of the cycle status when the indication of the cycle statusof the pump is associated with sprayer 1 being in the paint fluidatomizing spray mode.

For example, to determine the plurality of output values, controlcircuitry 21 may be configured to determine whether one or moreindications of the plurality of cycle status indications of the pump areassociated with sprayer 1 being in a fluid atomizing spray mode or anon-spraying flushing mode. Control circuitry 21 may determine one ormore output values of the plurality of output values (e.g., outputvalues representing spray fluid output volume) using the one or moreindications of the plurality of cycle status indications associated withsprayer 1 being in the fluid atomizing spray mode.

Similarly, in some examples, control circuitry 21 may be configured totrack volume in non-atomizing flushing mode (e.g., non-spraying mode).In such examples, as illustrated with respect to FIG. 8A, controlcircuitry 21 may determine whether an indication of a cycle status ofpump 9 is associated with sprayer 1 being in the fluid atomizing spraymode or the non-atomizing flushing mode, and determine a non-spray fluidoutput value for the indication of the cycle status from the pluralityof cycle status indications when the indication of the cycle status ofpump 9 is associated with sprayer 1 being in the non-atomizing flushingmode (e.g., store the output values for non-atomizing flushing mode in acleaning log tracking volume in memory 22).

For example, control circuitry 21 may be further configured to determinea plurality of non-atomizing flushing output values. To determine theplurality of non-atomizing flushing output values, control circuitry 21may be configured to determine whether one or more of the plurality ofcycle status indications of the pump 9 are associated with the sprayer 1being in a fluid atomizing flushing mode or a non-atomizing flushingmode. Control circuitry 21 may determine one or more non-atomizingflushing output values of the plurality of non-atomizing flushing outputvalues using the one or more indications of the plurality of cyclestatus indications associated with the sprayer being in the non-sprayingflushing mode.

As described above with respect to FIGS. 8A-8C, one example way in whichcontrol circuitry 21 may determine whether a current time window of theplurality of time windows expired is based on a count of cycles (e.g.,partial or full cycles) of pump 9. However, control circuitry 21 may notcount every single cycle. For instance, in some examples, if a receivedindication of the pump cycle of the plurality of cycle statusindications (e.g., step 53) is not associated with sprayer 1 being influid atomizing spray mode (e.g., pressure, as measured is too low, oras set by user is too low), then control circuitry 21 may not increasethe count cycle.

For example, control circuitry 21 may be configured to generate dataindicative of spray volume (e.g., such as plurality of fluid outputvalues include output values for sprayer 1 in fluid atomizing spray modeand, optionally, output values for sprayer 1 in non-atomizing flushingmode). To generate the data indicative of spray volume, controlcircuitry 21 may count full or partial pump cycles of pump 9 andgenerate the data indicative of spray volume based on the count of fullor partial pump cycles of pump 9. In some examples, control circuitry 21may count a pump cycle if sprayer 1 is in a fluid atomizing spray modeand not count a pump cycle if sprayer 1 is in a non-atomizing flushingmode. For example, to generate the data indicative of the spray volume,control circuitry 21 may be configured to determine whether sprayer 1 isoperating in a fluid atomizing spray mode (e.g., paint spraying mode) ora non-atomizing flushing mode (e.g., non-paint spraying mode). As oneexample, for each indication of the pump cycle, control circuitry 21 maydetermine whether that indication of the pump cycle is associated withsprayer 1 being in a fluid atomizing spray mode or non-atomizingflushing mode. Control circuitry 21 may generate the data indicative ofspray volume based on a count of full or partial cycles of pump 9 whensprayer 1 is operating in the fluid atomizing spray mode.

As an example, control circuitry 21 may determine a first fluid outputvalue, associated with a first pressure, based on a first indication ofthe cycle status of the pump, and determine a second fluid output value,associated with a second pressure, based on a second indication of thecycle status of the pump. Control circuitry 21 may determine that thefirst fluid output value is one of the output values (e.g., spray fluidoutput value representing spray fluid output volume) based on the firstpressure being greater than a threshold, and determine that the secondfluid output value is not one of the output values (e.g., is not a sprayfluid output value representing spray fluid output volume) based on thesecond pressure being less than the threshold.

In this example, control circuitry 21 may increase the count of thecycle of pump 9 for the first fluid output value and may not increasethe count of the cycle of pump 9 for the second fluid output value.Control circuitry 21 may store the first fluid output value in the spraylog tracking volume (e.g., based on the determination that the firstfluid output value is one of the output values representing spray fluidoutput volume) and not store the second fluid output value in the spraylog tracking volume (e.g., based on the determination that the secondfluid output value is not one of the output values representing sprayfluid output volume). In the examples where a cleaning log volume ismaintained, control circuitry 21 may store the second fluid output valuein the cleaning log (e.g., based on the determination that the secondfluid output value is not one of the output values representing sprayfluid output volume) and not store the first fluid output value in thecleaning log (e.g., based on the determination that the first fluidoutput value is one of the output values representing spray fluid outputvolume).

FIGS. 9-13 are flowcharts representing communications between differentsystem components, particularly between the sprayer 1, the handheldcomputer 14, the network server 35, and the personal computer 29, whichmay be by short range wireless communication, cellular network 41,and/or the internet. These transmissions can be carried out by thewireless module 23, the wireless module 17, the communication module 32,and the communication module 38. Such communication can use the methodsreferenced herein, for example, amongst other possible communicationtechniques. Arrows crossing over dashed lines between the columnsassociated with the sprayer 1, the handheld computer 14, the networkserver 35, and/or the personal computer 29 represent wired and/orwireless communications between the sprayer 1, the handheld computer 14,the network server 35, and the personal computer 29 facilitated by thewireless module 23, the wireless module 17, the communication module 32,the communication module 38, the cellular network 41, and/or otherinfrastructure for digital communication.

FIG. 9 is a flowchart demonstrating the steps in coupling the handheldcomputer 14 to the sprayer 1 and then moving data generated on thesprayer 1 to the network server 35 via the handheld computer 14. Theflowchart demonstrates transmission and reception of communicationsbetween the sprayer 1, the handheld computer 14, and the network server35. As will be further discussed, two modes are shown (modes A and B),depending on the connectivity between the handheld computer 14 and thenetwork server 35. More specifically, mode A is used when there is awireless connection between the handheld computer 14 and the networkserver 35 at the time that data retrieval from the sprayer 1 isrequested. Mode B is used when there is no connection between thehandheld computer 14 and the network server 35 at the time that dataretrieval from the sprayer is requested (i.e., a communication path fromthe handheld computer 14 to the network server 35 is inaccessible), butis usable at a later time (i.e., the communication path from thehandheld computer 14 to the network server 35 is accessible). Both ofthe flowcharts for the modes presume that a wireless connection betweenthe sprayer 1 and the handheld computer 14 for data transfer has alreadybeen established.

As an example, handheld computer 14 may be configured to operate in anaccessible mode (mode A) or an inaccessible mode (mode B). Handheldcomputer 14 may be in different locations for mode A and mode B. Forexample, handheld computer 14 may be configured to operate in anaccessible mode in which handheld computer 14 is in a first locationwhere wireless connectivity, via a continuous or near continuouscommunication path, to network server 35 is accessible. Handheldcomputer 14 may be configured to operate in an inaccessible mode inwhich handheld computer 14 is in a second location out of range of thecontinuous or near continuous communication path to network server 35.In one or more examples, handheld computer 14 may be configured to ferrydata from when handheld computer 14 is at the second location and in theinaccessible mode to when handheld computer 14 is in the first locationand in the accessible mode.

As described in more detail, in the accessible mode, handheld computer14 may transmit at least some of the plurality of fluid output values,received from sprayer 1, to network server 35. For example, handheldcomputer 14 may receive, from the data stored on sprayer 1, data thathas not been previously transmitted to network server 35 and transmitthat data (referred to as archival data). However, in some examples,handheld computer 14 may receive substantially all (including all) ofthe data from sprayer 1 when handheld computer 14 is in the accessiblemode.

The handheld computer 14 can determine whether the communication path tothe network server 35 is inaccessible or accessible based on one or moreattempted communications with the network server 35. For instance, thehandheld computer 14 can attempt to establish wireless communicationswith the network server 35 on a periodic basis. The handheld computer 14can determine that the communication path to the network server 35 isinaccessible in response to one or more failed communication attempts,such as one or more communication attempts that do not result in aresponse message from the network server 35 within a threshold timeduration (e.g., a threshold number of seconds, minutes, or otherthreshold time durations). The handheld computer 14 can determine thatthe communication path to the network server 35 is accessible inresponse to one or more successful communication attempts, such as oneor more communication attempts that result in receiving a responsemessage from the network server 35. The handheld computer 14 can, insome examples, determine which of the processes of Mode A and Mode B toutilize in response to the determination of whether the communicationpath to the network server 35 is accessible (i.e., Mode A) orinaccessible (i.e., Mode B).

Mode A includes step 60 in which a request for data (e.g., from theuser) is received on the handheld computer 14. The request for data canbe received by the processor 18 from the one or more interfaces 20.Reception of the request can include the opening of an application onthe handheld computer 14, selecting the particular sprayer 1 fromamongst other sprayer options (e.g., multiple sprayers in wireless rangeor sprayers to which the handheld computer 14 has previously connected),and/or the user selecting a data refresh or update option from thesprayer 1. Upon reception of the request, the handheld computer 14(e.g., via the wireless module 17) sends a data history inquiry in step61, and the inquiry is received by the network server in step 62. Thedata inquiry request sent in step 61 can be considered an archival datarequest from the processor 18 for a request for identification of a mostrecent fluid output value in a time series of archival fluid outputvalues stored by the network server 35 as associated with the sprayer 1.

For example, the memory 37 of the network server 35 may store data(e.g., fluid output values, pressure values, etc.) for a plurality offluid sprayers including the fluid sprayer 1. The data for each one ofthe plurality of fluid sprayers may be stored as separate tables, orgenerally, in such a way that data for each sprayer may be accessibleindividually. In some examples, simultaneous group access for data formultiple sprayers may be possible (e.g., such as for a batch download).

The handheld computer 14, in some examples, may be configured to uploaddata (e.g., fluid output values) from the sprayer 1 for storage in thenetwork server 35. Then, at some later time, after the memory 22 of thesprayer 1 stores new data, a user may wish to upload the new data to thememory 37 of the network server 35. However, there may be a possibilitythat another user had already uploaded the new data to the memory 37 atsome intermediate time.

As an example, on a job site, there may be multiple users of the sprayer1, each with their own handheld computer. For instance, if there are twousers of the sprayer 1, there may be a first handheld computer and asecond handheld computer. In such examples, a first user of firsthandheld computer may have utilized the sprayer 1 and uploaded the datafor the sprayer 1 to the network server 35. Then, when a second user ofthe second handheld computer goes to use the sprayer 1, he or she maynot know whether data needs to be stored to the memory 37 or not.

Also, in some examples, the second user of second handheld computer mayuse the sprayer 1 and when finished, the memory 22 may store data of thesprayer 1 from when the first user used the sprayer 1 and the new datafrom when the second user used the sprayer 1. However, the memory 37already stored the data from when the first user used the sprayer 1 andresending and restoring the data from when the first user used thesprayer 1 may not be memory and bandwidth efficient.

Accordingly, in some examples, prior to storing data in the memory 37,the handheld computer 14 may first receive information indicative of themost recent data (e.g., serial number or timestamp) that is stored inthe memory 37 for the sprayer 1. The handheld computer 14 may thenrequest from the sprayer 1 only the data that is new since the mostrecent data that is stored in the memory 37 and upload only the newdata. In this way, if there is delta between the data that is stored inmemory 37 and data stored in memory 22, only the difference istransmitted for storage in memory 37, which promote memory and bandwidthefficiencies.

Transmission of the inquiry in step 61 can include wireless transmissionover a cellular, Wi-Fi, or other type of network. The inquiry canuniquely identify the handheld computer 14 sending the inquiry, the usermaking the request, and/or the sprayer 1 with which the handheldcomputer 14 is currently connected.

As described above, the network server 35 stores historical sprayinformation for the sprayer 1 in memory 37. Historical spray informationstored by the network server 35 can be considered archival sprayinformation, which can be stored as a time series of archival fluidoutput values. This spray information can include information that waspreviously transmitted using modes A and/or B. The spray information canbe spray volume log and/or cleaning volume log generated in the processof FIGS. 8A and 8B. For example, the network server 35 can store a sprayvolume log containing the volume of paint sprayed in each of a pluralityof time windows. The network server 35 can likewise store a cleaningvolume log containing the volume of fluid flushed in each of a pluralityof time windows. The network server 35 receives the inquiry in step 62.The network server 35 then identifies the most recent spray volume andcleaning volume logs that the network server 35 has stored inassociation with the sprayer 1, in step 63. The network server 35 canidentify the most recent logs received in association with the sprayer 1by reviewing timestamps of the data (e.g., the time and date of the timewindow saved in association with the time window data) and/or a serialnumber information (e.g., each sequential time window may be given aprogressively higher serial number). The request can also include theserial number of the sprayer 1, and the data saved by the network server35 can include a reference to the serial number of the sprayer 1, sothat the network server 35 may only find the most recent log for thesprayer 1 and not a more recent log for a different sprayer.

The network server 35 then sends the identification of the most recentdata in the log in step 64. The identification of the most recent datacan be the most recent time window and/or the highest serial numberpreviously received. The identification of the most recent data sent bythe network server 35 is received by the handheld computer 14 in step65.

Based on the reception of the identification of the most recent data instep 65, the handheld computer 14 then sends a request to the sprayer 1for any spray volume log or cleaning volume log data newer than the mostrecent data identified. For example, if the most recent data isidentified to be a time window of 4-5 pm, Aug. 30, 2018, then therequest is for any spray volume log or cleaning volume log data newerthan 4-5 pm, Aug. 30, 2018. If the most recent data is identified tohave a serial number of 10,200, then the request is for any spray volumelog or cleaning volume log data having a serial number greater than10,200 (e.g., 10,201, 10,202, etc.). The request to the sprayer 1transmitted in step 65 can be considered an archival fluid output valuesupdate request to request the sprayer 1 to transmit an archival fluidoutput values update that includes only those fluid output values storedby the sprayer 1 that are more recent than the identification of themost recent data.

In the example of FIG. 9, the sprayer 1 receives the spray volume log orcleaning volume log data request from the handheld computer 14 in step67. The control circuitry of the sprayer 1 (e.g., wireless module 23and/or processor 24), in step 68, then identifies any spray volume logor cleaning volume log data newer than the identified most recent datawhich the network server 35 already has stored. For example, if the mostrecent spray volume log or cleaning volume log data is identified to bea time window of 4-5 pm, Aug. 30, 2018, then the processor 24 identifiesall time window data stored in memory associated with time windows after4-5 pm, Aug. 30, 2018, which may be one time window (e.g., 5-6 pm, Aug.30, 2018) or may be many time windows (6 pm, Aug. 30, 2018-8 am, Sep. 5,2015). Such data can be the spray volume and cleaning volume pumpedwithin each time window and may not include pump cycle or pressuremeasurement data. If the most recent data is identified to have a serialnumber of 10,200, then the processor 24 identifies any spray volume logor cleaning volume log window data having a serial number greater than10,200, which may be data for one time window (e.g., 10,201) or may bedata for multiple time windows (10,201-10,300).

In step 69, the sprayer 1 then sends the identified newer data to thehandheld computer 14. The identified newer data sent to the handheldcomputer 14 in step 69 can be considered an archival fluid output valuesupdate sent by the sprayer 1 in response to receiving the archival fluidoutput values update request from the handheld computer 14. In step 70,the handheld computer 14 receives the newer data. In step 71, thehandheld computer in turn sends the newer data to the network server 35.In step 72, the network server receives the newer data and saves it inmemory 31.

In this manner, in the accessible mode, handheld computer 14 maytransmit at least some of the plurality of fluid output values tonetwork server 35. As one example, the at least some of the plurality offluid output values refers to the archival data. However, in someexamples, handheld computer 14 may transmit substantially all of theplurality of fluid output values stored on sprayer 1 (e.g., includingpreviously sent data).

The process of mode A can be repeated on a periodic basis (e.g., onceevery minute, or on a basis timed with the closure of time windows suchas once per hour) when there is continuous, or near continuous,connectivity between the sprayer 1, the handheld computer 14 and thenetwork server 35. The advantage of mode A is that data is selectivelytransferred from the sprayer 1, to the handheld computer 14, and then tothe network server 35 depending upon which data the network server 35has already received, such that only new data is transferred. This modesaves on power usage, data transmission, and processor usage as comparedto transferring data that is already been received by the network server35. The process of mode A to request data from the sprayer 1 andtransmit the data to the network server 35 can, in some examples, beinitiated automatically by the handheld computer 14 in response todetermining that the communication path to the network server 35 isaccessible. The automatic initiation by the handheld computer 14 caninclude, in certain examples, initiation of the data transmissionwithout receiving user input at the handheld computer 14 to initiate thedata transmission.

Mode B demonstrates the communication technique when there is notcontinuous, or near continuous, connectivity between the sprayer 1, thehandheld computer 14 and the network server 35. In mode B, the handheldcomputer 14 receives the data request from the user in step 73, whichcan be essentially identical to step 60. The handheld computer 14 canthen check whether there is a connection to the network server 35 (e.g.,via cellular network 41), and upon determining that there is no currentdata connection to the network server 35 (i.e., the communication pathis inaccessible), the handheld computer 14 sends a request for data tothe sprayer 1 in step 74. In step 75, the sprayer 1 receives the datarequest from the handheld computer 14. The data request can be for sprayvolume or cleaning volume log data, such as for each time window. Inresponse to the data request, the sprayer 1 sends the completehistorical data to the handheld computer 14 in step 76. Completehistorical data can include spray volume and/or cleaning volume log datafor all time windows and/or serially numbered entries stored in thememory 22 (i.e., a time series of the data). The complete historicaldata may not include the pressure and pump cycle data that was used tocalculate the spray and cleaning volumes of the time windows, but ratherjust a single total spray volume and a single total cleaning volume foreach time window. Alternatively, the handheld computer 14 may store inmemory 26 a record of the most recent time stamped or serial numberedlogs sent to the network server 35, and may only send newer logs and notsend logs previously sent to the network server 35. In some cases, thishistorical data can include usage information representing hours, days,and/or years' worth of time windows even if some of the data hadpreviously been communicated to the network server 35. In step 77, thehandheld computer 14 receives the complete historical data.

The handheld computer 14 then stores the complete historical data inmemory 16 until the handheld computer 14 can transfer the completehistorical data to the network server 35, which requires a connectionbetween the handheld computer 14 and the network server 35. In somecases, the sprayer 1 will be used at a remote site without cellular dataconnections such that the handheld computer 14 cannot communicate withthe network server 35, although the handheld computer 14 will be able tocollect the usage data from the sprayer 1 as demonstrated in theprevious steps. At a later time, the user may bring the handheldcomputer 14 within range of the network server 35, which might be at theend of the day or at a later date as compared to when the completehistorical data was received by the handheld computer 14, to completesteps 79-80. Accordingly, the handheld computer 14 can store the usagedata in response to determining that the communication path to thenetwork server 35 is inaccessible at a first time (e.g., a time when thedata is collected by the handheld computer 14 from the sprayer 1 at afirst location), and can transmit the usage data to the network server35 at a second time that is later than the first time, in a second,different location, in response to identifying that the communicationpath to the network server 35 is accessible at the second time.

Once the handheld computer 14 is able to communicate to the networkserver 35 in step 78, such as by way of a cellular or other type of dataconnection, the handheld computer 14 sends a complete historical data tothe network server and 35 in step 79. For example, handheld computer 14may transition (e.g., automatically without user intervention but userintervention based transition is possible) from the inaccessible mode tothe accessible mode in response to determining that the continuous ornear continuous communication path to network server 35 is accessiblefor transmitting the stored fluid output values.

Furthermore, although the above examples describe handheld computer 14receiving all of the fluid output values from the sprayer 1, thetechniques described in this disclosure are not so limited. In someexamples, even in the inaccessible mode, handheld computer 14 mayreceive some of the fluid output values from sprayer 1 (e.g., such as ifhandheld computer 14 determines that some data stored on sprayer 1 isnow stale, or if handheld computer 14 tracked the last data sent tonetwork 35) and store the received fluid output values in handheldcomputer 14 until handheld computer 14 is able to transition from theinaccessible mode to the accessible mode in response to determining thatthe continuous or near continuous communication path to the networkserver is accessible for transmitting the stored fluid output values.

In some examples, the in the inaccessible mode, handheld computer 14 isconfigured to receive a first number of the fluid output values fromsprayer 1, and in the accessible mode, handheld computer 14 isconfigured to receive a second number of the fluid output values fromthe sprayer 1. The first number of fluid output values may be greaterthan the second number of the fluid output values. For example, in theinaccessible mode, handheld computer 14 may receive substantially all(e.g., all, all but earliest few minutes of data, 90% of the data orgreater) of the data from sprayer 1 but in the accessible mode, handheldcomputer 14 may receive only data not previously transmitted to networkserver 35.

In step 80, the network server 35 receives the complete historical data.The network server 35 can then reconcile the recently received completehistorical data with the data it has already received, and update thespray volume and cleaning volume data logs in memory 37 with any newdata of the complete historical data that the network server 35 had notpreviously received.

In mode B, the handheld computer 14 physically ferries the data frombeing within wireless range of the sprayer 1 but not within range of thecellular network 41, to being within range of the cellular network 41(but possibly not within wireless range of the sprayer). In contrast,the handheld computer 14 principally functions as a node within twooverlapping wireless networks that do not directly communicate with eachother in mode B.

The complete historical data is transmitted between the sprayer 1 andthe handheld computer 14 in mode B because it is not known to thesprayer 1 or the handheld computer 14 what data has already beencollected by the network server 35 or otherwise transmitted from thesprayer 1. Generally, the sprayer 1 does not include a log of what datahas been transmitted to a handheld computer 14 or other device. Also,the handheld computer 14 does not store spray volume or cleaning volumelog data from the sprayer 1 (because it is assumed that users with theirindividual handheld computer 14 will be switching sprayers frequently,such as for different colors and/or when working with sprayer fleets),and does not have a data history chronicling which data has beentransferred. Therefore, all historical data is retrieved from thesprayer 1 and sent to the network server 35. The purpose of this is thatvarious different handheld computers, such as handheld computer 14, canbe used with the sprayer 1, such that one operator with one handheldcomputer 14 can use the sprayer 1 in the morning while a differentoperator with a different handheld computer 14 can use the sprayer 1 inthe afternoon, wherein the one central collection point for the data isnetwork server 35.

Accordingly, the disclosure describes examples in which the handheldcomputer 14 is configured to operate in an accessible mode (e.g. mode A)in which a continuous or near continuous communication path to thenetwork server 35 is accessible or operate in an inaccessible mode(e.g., mode B) in which the continuous or near continuous communicationpath to the network server 35 is inaccessible. The communication path tothe network server 35 may be a cellular communication path (e.g., via acellular network) or a WiFi communication path. In one or more examples,the handheld computer 14 may operate differently based on whether thehandheld computer 14 is in the accessible mode or the inaccessible mode.For instance, in the accessible mode, the handheld computer 14 mayensure that only the newly stored fluid output values, stored in memory22, are uploaded to the network server 35. However, where the handheldcomputer 14 is operating in the inaccessible mode, the handheld computer14 may temporarily store the plurality of fluid output values in memory16 for eventual transmission to the network server 35.

In the accessible mode, the handheld computer 14 may be configured totransmit an archival data request to the network server 35 to request anidentification of a most recent fluid output value in the time series ofarchival fluid output values associated with the sprayer 1. The archivalfluid output values update request may include the identification of themost recent fluid output value in the time series of archival fluidoutput values associated with the sprayer 1.

The handheld computer 14 may receive, from the network server 35, theidentification of the most recent fluid output value in the time seriesof archival fluid output values associated with the sprayer 1. Theidentification of the most recent fluid output value may include atleast one of a time and date of the most recent fluid output value or aserial number of the most recent fluid output value. The handheldcomputer 14 may then transmit an archival fluid output values updaterequest to the sprayer 1 to request the sprayer 1 to transmit anarchival fluid output values update that includes only those fluidoutput values of the plurality of fluid output values that are morerecent than the identification of the most recent fluid output value inthe time series of archival fluid output values associated with thesprayer 1. The handheld computer 14 may transmit the fluid output valuesthat are more recent to the network server 35 for storage in memory 37.

In the inaccessible mode, the handheld computer 14 may be configured toreceive a plurality of fluid output values from the sprayer 1, theplurality of fluid output values representing fluid output volumes ofthe sprayer 1 over time. Memory 16 of the handheld computer 14 may storethe plurality of fluid output values in response to determining that thecontinuous or near continuous communication path to the network server35 is inaccessible (e.g., the wireless module 17 of the handheldcomputer 14 is unable to connect to a cellular network or WiFi). In suchcases, the handheld computer 14 may transmit the plurality of fluidoutput values to the network server 35 in response to determining thatthe continuous or near continuous communication path to the networkserver 35 is accessible.

For example, the handheld computer 14 may automatically transmit,without receiving user input at the handheld computer 14 to initiate thetransmitting, the plurality of fluid output values to the network server35 in response to determining that the communication path to the networkserver 35 is accessible. The handheld computer 14 may be configured toperiodically attempt communication with the network server 35 and todetermine that the communication path to the network server 35 isaccessible in response to a successful communication attempt with thenetwork server 35.

This disclosure describes various examples of the plurality of fluidvalues. For instance, similar to elsewhere, the plurality of fluidoutput values may include values respectively representing volumes offluid output by the sprayer 1 within a plurality of time windows. Theplurality of time windows may represent a plurality of consecutive timeperiods, each of the consecutive time periods having a predeterminedduration. As described above, such as with respect to FIGS. 8A-8C, foreach time window of the plurality of time windows, the control circuitry21 of the sprayer 1 may be configured to open the respective timewindow, calculate and recalculate the respective fluid output value as arunning value for each increase in the indication of cycle statusreceived within the respective time window, and close the respectivetime window after the predetermined duration, so that the fluid outputvolume value of the respective time window is the running value atexpiration of the predetermined duration.

In some embodiments, the handheld computer 14 adds location informationfrom the GPS module 19 to the spray volume and cleaning volume logsbetween receiving the spray volume and cleaning volume logs locationinformation from the sprayer 1 to the network server 35. This is becausethe sprayer 1 may not include a GPS module but general locationinformation may still be useful for later reference from the networkserver 35, such as for retrieval from the personal computer 29 from thenetwork server 35 the manager of the fleet to understand where thesprayers are being used. Such attachment of location information mayoccur between steps 70 and 71.

FIG. 10 is a flowchart demonstrating the steps for coupling the sprayer1 to a handheld computer 14 according to various embodiments. As shown,whether or not the user of the handheld computer 14 is authorized inconnection with the particular sprayer 1, the network server 35 may ormay not give permission to view historical data. Even if the networkserver 35 denies rights to view historical data, the handheld computer14 can still connect with the sprayer 1 and ferry data from the sprayer1 to the network server 35, yet the handheld computer 14 may not allowthe user to view the historical data depending on the approval.

When the sprayer 1 is powered, the sprayer 1 broadcasts identificationinformation (e.g., a sprayer identifier (ID)) in step 81. Broadcastingthe sprayer ID can include broadcasting over a short-range wirelessprotocol, such as BLUETOOTH™, from the wireless module 23 of the sprayer1. The broadcast information can include a model number of the sprayer1, a serial number of the sprayer 1, and/or any particular namepreviously assigned to the sprayer 1. This information can be stored inmemory 22 of the sprayer 1 or in the wireless module 23 of the sprayer1.

In step 82, the handheld computer 14 receives the identificationinformation (e.g., sprayer ID) broadcast from the sprayer 1, such asmodel number, serial number, and/or assigned sprayer name. The handheldcomputer 14 can receive the broadcast with the wireless module 17 of thehandheld computer 14. In a small area (e.g., within a 100-foot radius),multiple sprayers can simultaneously broadcast respective sprayer IDssuch that the handheld computer 14 can receive the multiple sprayer IDsfrom these multiple sprayers in the small area at the same time.

The handheld computer 14 can present a sprayer ID, or multiple sprayerIDs, to a user in step 83 corresponding to the number of sprayer IDsreceived. These sprayer ID(s) can be presented by being displayed asdifferent icons, one for each respective sprayer, on a screen (e.g.,touchscreen) of the one or more interfaces 20. The presentation caninclude showing a model number, a serial number, and/or an assigned nameas part of the icon. The handheld computer 14 can then receive aselection of one of the sprayers in step 84. The selection can include auser touching one of the icons associated with a particular one of thesprayers on the touchscreen of the one or more interfaces 20. The userselection is received by the processor 18. The user selection indicateswhich one of the sprayers the user wants to communicate with. Based onthe selection, the handheld computer 14 can begin bidirectionalcommunication with the selected sprayer to the exclusion of the othersprayers that were not selected.

Based on the selection of the particular sprayer, the handheld computer14 sends a request to communicate with the selected sprayer to thenetwork server 35 in step 85. The request can include the model number,serial number, and/or the assigned name of the selected sprayer. In step86, the network server 35 receives the request. Following receipt of therequest, the network server 35 checks, in step 87, the registration ofthe selected sprayer to determine whether the sprayer (e.g., sprayer 1)has been previously registered. In this way, the network server 35 caninclude a registry of some or all sprayers of one or more types thathave been manufactured. Specifically, upon manufacture, the model numberand serial number of each sprayer are saved in memory 37 of the networkserver 35. The network server 35 can also save an indication of whetheror not the sprayer has been registered, including information concerningthe owner of the sprayer. The sprayer 1 may not save or contain anyinformation (e.g., in memory 22) that indicates whether or not thesprayer 1 has been registered, although possible for sprayer 1 to storesuch information. In some examples, it is the network server 35 thatlogs and tracks sprayer registration.

In the example of FIG. 10, the network server 35 may, in step 88, sendan indication of approval or denial to the handheld computer 14. Forinstance, if the sprayer 1 is unregistered, the network server 35 maysend a communication to the handheld computer 14 to prompt the handheldcomputer 14 to request that the user register the sprayer 1. Inregistration, the user can input an owner name (which can be a companyname or an individual) of the sprayer 1. The owner name can be sent backto the network server 35 for saving in memory 37 in association with thesprayer ID. The network server 35 can then store in memory 37 anindication that the sprayer 1 is registered so that the sprayer 1 willbe recognized in future connection requests that the sprayer 1 isregistered. The owner name may be associated with other sprayerscommonly owned.

Registering a sprayer 1 may also include setting up one owner account orassociating a new sprayer 1 with an existing owner account. An owneraccount may allow or disallow some or all historical data to be viewedand/or changed by user accounts. User accounts can be created using thehandheld computer 14 and are generally created by painters not inassociation with any particular sprayer or sprayers. The owner accountcan have rights to allow or deny particular user accounts to viewhistorical data generated by or transmitted from a sprayer 1. Using thehandheld computer 14 or the personal computer 29 when registering asprayer 1, or at a later date, the user of the owner account can inputor select which user accounts will be allowed to view historical data,and the input or selection can be stored in memory 37 of the networkserver 35.

A user account can include a particular user identification (e.g., username and/or number). A user can use the user identification, along witha password, to log into the program running on the handheld computer 14(e.g., an application or “app”). The combination of the useridentification and the password can be considered user credentials. Theprogram facilitates communication with the sprayer 1 and the networkserver 35 as discussed herein. The network server 35 can save in memory37 a list of all user accounts indicated by the owner account to beallowed to view historical data for the sprayer 1 (as well as othersprayers), whereas the users of all other user accounts are notpermitted to view historical data for the sprayer 1.

If the check in step 87 determines that the sprayer 1 is registered,then a check can be made of whether the particular user, logged in underthe user account on the handheld computer 14, has been authorized toview historical data by the owner account, while the handheld computers14 of both authorized and non-authorized users may be able to transferspray data from the sprayer 1 to the network server 35.

Depending on whether the particular sprayer 1 is registered, the networkserver 35 sends an approval or denial in step 88 to the handheldcomputer 14, approval for an authorized user account being associatedwith the sprayer 1 in memory 37 of network server 35, and a denial forany user account not being approved by the owner account associated withthe sprayer 1 in memory 37 of network server 35. The handheld computer14 receives the communication from the network server in step 89. Thehandheld computer 14 then, in response, sends a request for data to thesprayer 1 in step 90. The sprayer 1 receives the data request in step 91and then sends some or all historical data to the handheld computer 14in step 92. It is noted that historical data refers to data that is notindicative of the current operational state of the sprayer 1. Forexample, in some cases, historical data can be information sensed,calculated, developed, or otherwise collected more than 1 hour ago. Insome cases, historical data is information sensed, calculated,developed, or otherwise collected at least one day prior, or more than12 hours ago, or more than 24 hours ago. In some cases, historical datamay be data not from the current spray session, or data not collectedsince the sprayer 1 was last powered on.

The handheld computer 14 receives the data from the sprayer 1 in step93. The program running on the handheld computer 14 allows thetransferred historical data to be viewed on the handheld computer 14 bythe user if the approval was previously received in step 89. The programrunning on the handheld computer 14 does not allow the handheld computer14 to display the historical data to the user if the denial was receivedin step 89. Regardless of whether a denial or approval was received, thehandheld computer 14 sends the historical data to the network server 35in step 95. The network server 35 receives the historical data in step96.

In this way, the handheld computer 14 can ferry data from the sprayer 1to the network server 35, either allowing or disallowing the user of thehandheld computer 14 to see the historical data. A reason to disallowsome users from seeing the historical data is because different workersmay be using the sprayer day-to-day. The owner of the sprayer 1 maytrust some users to view historical data and may not trust other usersto view historical data while using the sprayer 1. The historical datamay be competitively sensitive, such as by including productivityinformation that may be reflective of the operations of the owner.Workers can often work with multiple contracting companies at once,moving between projects, and an owner may not want a painter viewinghistorical data if the owner thinks the painter will be working for acompetitor.

For example, handheld computer 14 may receive user credentials of a userof handheld computer 14 and identification information of the sprayer 1that is in wireless communication with the handheld computer 14.Handheld computer 14 may receive, from the sprayer 1, a plurality offluid parameter values representing fluid by the sprayer 1 over time. Insome examples, the plurality of fluid parameter values include a firstset of fluid parameter values generated during use of the sprayer 1 bythe user and a second set of fluid parameter values generated prior touse of the sprayer 1 by the user.

The fluid parameter values may be various values indicative of fluidoutput volume. As one example, the fluid parameter values may be thespray output values (e.g., output values representing spray fluid outputvolume) when sprayer 1 is operating in the fluid atomizing spray mode.As another example, the fluid parameter values may be the pressurevalues (e.g., actual pressure values measured by the pressure sensor orpressure values set by the user).

For example, handheld computer 14 may store historical data (e.g., thesecond set of fluid output values generated prior to use of the sprayer1 by the user) and store contemporaneous data (e.g., the first set offluid output values generated by use of sprayer 1 by the user). Thehistorical data may be the spray fluid output values and/or pressurevalues for when a previous user used sprayer 1 and the contemporaneousdata may be the spray fluid output values and/or pressure values forwhen the current user used sprayer 1.

Handheld computer 14 may determine whether the user credentials areauthorized for viewing one or more of the plurality of fluid parametervalues including the first set of fluid parameter values and the secondset of fluid parameter values. For example, a first user may beauthorized to view most any (including all) fluid parameter valuesgenerated by sprayer 1. A second user may be authorized to view fluidparameter values generated by sprayer 1 during the use by the seconduser but may not be authorized to view fluid parameter values generatedby others (e.g., historical fluid parameter values). A third user may beauthorized to view some of the fluid parameter values (e.g., pressurevalues from when the third user used sprayer 1) and not other fluidparameter values (e.g., actual spray fluid output values representingfluid output volume when the third user used sprayer 1). The third usermay not be authorized to view any historical fluid parameter values.

In one or more examples, although the second user and the third user arelimited in the amount of data the second user and the third user canview on respective ones of their handheld computer 14, the respectiveones of their handheld computer 14 may be used to ferry data. In otherwords, even though the second and third user may be prevented fromviewing fluid parameter values (or at least some of the fluid parametervalues), the handheld computers of the second and third users may ferrythe fluid parameter values even if not viewable by the second and thirdusers.

For example, handheld computer 14 may cause the wireless transceiver 17to wirelessly transmit the plurality of fluid parameter values tonetwork server 35 that is remote from the sprayer 1 and the handheldcomputer 14. Handheld computer 14 may prevent the user (e.g., seconduser and the third user from above example) from viewing, via thedisplay device (e.g., interface 20), at least the second set of fluidparameter values of the plurality of fluid output values (e.g.,historical fluid output values) at the handheld computer 14 in responseto determining that the user credentials are not authorized for viewingthe second set of fluid parameter values of the plurality of fluidparameter values.

In some examples, control circuitry 15 may cause the display device ofhandheld computer 14 to display at least some of the first set of fluidparameter values (e.g., pressure values and fluid output value, orpressure values but not fluid output values) despite determining thatthe user credentials are not authorized for viewing the second set offluid parameter values (e.g., historical fluid output values orhistorical pressure values) of the plurality of fluid parameter values.However, control circuitry 15 may cause the display device of handheldcomputer 14 to display the second set of fluid parameter values based onthe user credentials of the user indicating that viewing the second setof fluid parameter values is enabled

Assume that in the above example, it was the third user that was usingsprayer 1. After the third user, a fourth user, with his/her ownhandheld computer 14 may couple with sprayer 1 and the fourth user mayuse sprayer 1. Similar to above, handheld computer 14 for the fourthuser may receive user credentials of the fourth user and identificationinformation of the same sprayer 1 used by the third use. In thisexample, the sprayer 1 is in wireless communication with the handheldcomputer 14 of the fourth user.

The handheld computer 14 of the fourth user may receive, from thesprayer 1, a plurality of fluid parameter values (e.g., pressure valuesor fluid output values representing fluid output volumes) of the sprayer1 over time. This plurality of fluid parameter values includes a thirdset of fluid parameter values generated during use of the sprayer 1 bythe fourth user and a fourth set of fluid parameter values generatedprior to use of the sprayer 1 by the fourth user. Handheld computer 14of the fourth user may determine whether the user credentials of thefourth user are authorized for viewing one or more of the plurality offluid parameter values including the third set of fluid parameter valuesand the fourth set of fluid parameter values, and cause the wirelesstransceiver of the handheld device 14 of the fourth user to wirelesslytransmit the plurality of fluid parameter values to the network server35.

However, in this example, the fourth user may have additional viewingrights than the third user. For example, the third user was preventedfrom the viewing the first and the second sets of fluid output values(but may be able to see parameter values such as pressure). In someexamples, the handheld device 14 of the fourth user may enable thefourth user to view both the third set of fluid parameter values and thefourth set of fluid parameter values at the display device of thehandheld computer 14 of the fourth user in response to determining thatthe user credentials of the fourth user are authorized for viewing thethird set of fluid parameter values and the fourth set of fluidparameter values.

In some examples, while the third user may be prevented from viewing thefluid output values (e.g., representing fluid output volume), but thethird user may be enabled to possibly view one or more values used togenerate the fluid output values. As one example, the third user may beauthorized to view pressure values (e.g., an example of the fluidparameter values) used to generate the fluid output values but not beauthorized to view the actual fluid output values.

Also, in some examples, the third user may be enabled to view the actualfluid output values while the third user is using sprayer 1. But whenthe third user is done using sprayer 1, the third user may be preventedfrom viewing the fluid output values even if the fluid output valueswere generated while the third user was using the sprayer 1. Statedanother way, the values captured by the handheld computer 14 of thethird user may be considered as real time data. The handheld computer 14of the third user may enable the user to view at least some of the firstset of parameter values (e.g., the pressure values) while the user isusing the sprayer, and prevent the user from viewing the first set ofparameter values (e.g., fluid output values, the pressure values, orboth the fluid output values and the pressure values) after apredetermined amount of time in which the first set parameter values isno longer real time data.

FIG. 11 is a flowchart demonstrating various aspects of job features. A“job” as used herein is a spraying project that the manager of thesprayer 1 is tasked with completing. The term manager is used herein torefer to a person or persons who direct and oversee spraying operators,and may direct and oversee one or more workers and one or more sprayers.The manger may be a business owner and an owner of the paint sprayer, ormay be appointed by the owner to manage painting operations. The managermay be the person operating the owner account while the workers (e.g.,painters) operate user accounts on their handheld computers 14. Themanager may be the owner. In some cases, the handheld computers 14 maybe owned by the painting company and/or handheld computers 14 may beindividually owned by one or more workers.

Typically, the manager will have competitively bid on a project tocomplete the project, factoring in paint usage and labor. The managercan win the project with a competitive bid. The manager is thenconcerned with completing the project within budget according to thebid, which requires monitoring paint and labor utilization. A job can becreated by the manager profiling the project and assigning one or moresprayers 1.

In many cases, there are a plurality of sprayers, like sprayer 1, thatare being used at a job. Moreover, the same sprayer may be used atmultiple jobs. Having an individual gather data of how many of thesprayers are used at a job or gather information of how a particularsprayer was used at multiple jobs may be difficult, and practicallyimpossible in many instances such as where such information is neededand processed in a relatively short amount of time. For instance, ifthere are many job sites across town, it would be practically impossiblefor the manager to determine hourly or may be even daily the progressand sprayer information. Furthermore, merely gathering the data andpresenting the data may be insufficient for usage, especially given theamount of information.

Accordingly, this disclosure describes example techniques relying onwireless access coupled with timing of access to selectively retrievepacketized data from sprayers, like sprayer 1, to determine progress ata job. Moreover, the sprayer 1 may be leveraged as a way to communicateadditional information such as job reports and the like.

In some examples, given the number of sprayers and number of job sites,the permutations of sprayers to job sites may be exceptionally large,and ensuring that sprayers are associated with the correct jobs may becomputationally difficult. As described in more detail, in one or moreexamples, this disclosure describes ways in which to store, access, andotherwise process information to ensure to address technical issuespresent in managing jobs.

For example, as described in more detail, there may be one or moresprayers (e.g., like sprayer 1) for spraying fluid at one or more jobsites. The network server 35 may be configured to store job informationsuch as information indicative of manners in which the one or moresprayers are to be used at the one or more job sites and receiveinformation indicative of manners in which the one or more sprayers arebeing used. The network server 35 may compare the received informationwith the stored job information and output information indicative ofusage information based on the comparison (e.g., for display on personalcomputer 29).

The manager can use the personal computer 29 to manage the jobs. Thepersonal computer 29 can take various forms. The personal computer canbe a desktop, laptop, tablet, or handheld mobile computer such as asmart phone. The personal computer 29 can be the same as the handheldcomputer 14. The personal computer 29 can be used to generate job(s).While a personal computer 29 is used in this example, it is noted thatthe handheld computer 14 can be used instead for the same functions.

In creating the job, one or more sprayers and/or locations is associatedwith each job. The step of associating the sprayer and/or location withthe job is performed by a manager account, which may be the same ordifferent account as the owner account. A user-painter (who may be adifferent person than the manager or owner, or may be the same person)using a handheld computer 14 can connect with the sprayer 1 at a jobsite. Depending on the rights of that user and/or the location of thehandheld computer 14 (e.g., as determined by the GPS module 19), thepainter using the handheld computer 14 can view one or more jobsassociated with that sprayer 1, select one of the jobs, and then work onthe selected job using the sprayer 1 while the handheld computer 14collects usage data from the sprayer 1 (as previously described herein),the handheld computer 14 sending the information to the network server35 to track productivity for the selected job.

For example, the job information that defines manners in which one ormore sprayers are to be used at the one or more job sites may includedata associating the one or more sprayers with the one or more job sites(e.g., sprayers A-D are for job site A, sprayers E-G are for job site B,and so forth). As another example, the job information that definesmanners in which one or more sprayers are to be used at the one or morejob sites may include information of date or date range for when work isto be done with the one or more sprayers at the one or more job sites.As another example, the job information that defines manners in whichone or more sprayers are to be used at the one or more job sites mayinclude information indicative of users that are allowed to work at theone or more job sites.

The painter (e.g., user) using a handheld computer 14 can wirelesslyconnect with the sprayer 1, the handheld computer 14 can communicate thesprayer ID (e.g., as previously described) as well as GPS locationinformation to the network server 35. The network server 35 can reviewthe sprayer ID and the GPS location information to identify one or morejobs which are either associated with the sprayer 1 or near the GPSlocation, or both, and send job information back to the handheldcomputer 14. For instance, the job information may include dataassociating the one or more sprayers with one or more job sites. Networkserver 35 may receive information identifying a sprayer (e.g., based ona sprayer ID) of the one or more sprayers and information identifying ajob site of the one or more job sites where the identified sprayer islocated (e.g., based on GPS location). The network server 35 may comparewhether the identified sprayer is to be located at the identified jobsite based on the information indicative of which sprayers of the one ormore sprayers are associated with which job sites of the one or more jobsites. For instance, if the sprayer at a job site is being used, butshould be not used because the sprayer is not associated with that jobsite, then the network server 35 may output information indicative ofusage information that the sprayer is being used improperly.

The user can then be presented with those jobs and can select one ofthose jobs. Subsequent usage data concerning the sprayer 1 by the usercan be sent from the handheld computer 14 to the network server 35 to besaved in association with the selected job to indicate productivity in aparticular window of time (i.e. the time the worker worked using thesprayer 1 at the location). For example, information indicative ofmanners in which the one or more sprayers are to be used at the one ormore job sites includes information indicative of how much fluid the oneor more sprayers are to spray within a time period. The network server35 may receive information indicative of usage data of the one or moresprayers and compare the received information indicative of usage dataof the one or more sprayers to information indicative of how much fluidthe one or more sprayers are to spray within the time period. Thenetwork server 35 may output information indicative of whether the usagedata of the one or more sprayers is less than, equal to, or greater thanthe how much fluid the one or more sprayers are to spray within the timeperiod.

Information about usage of the sprayer 1, such as productivity and paintconsumption, can be collected at the network server 35 and then viewedfrom the personal computer 29 (or another device) via the manageraccount. It is noted that multiple sprayers (used by one or multipleusers) can work on the same job and send usage and productivityinformation to the network server 35, which can be aggregated for thejob and then reviewed by the manager using the personal computer 29 totrack overall productivity of the sprayer 1 fleet on the job.

Using the personal computer 29, the manager creates a job in step 100 ofFIG. 11. Creation and input is performed using the interface of thepersonal computer 29. It is noted that a handheld computer 14 cansubstitute for the personal computer 29. Creation of a job can includereceiving a job name given by the manager, such as “Miller house” or“High School”. The name can be a quick reference indicating the natureand/or location of the job, for example. A location of the job can alsobe input. The location can be a postal address. The location canadditionally or alternatively be selected from a mapping softwareprogram that displays a map, allowing the user to select a particularlocation. Such a feature may be useful where addresses are not yetassigned due to the building(s) in the area not yet being completed, orfor when the project relates to remote and/or unaddressed infrastructure(bridges, pipelines, cell towers, fences, etc.). Accordingly, in someexamples, job information indicative of manners in which the one or moresprayers are to be used may include location information of the job, andthe manners in which the one or more sprayers are to be used may includeinformation about the sprayers being used at the location of the job.

The input job information can include a date or date range. Such date ordate range can correspond with the time that is planned for work to bedone. For example, a date input can be Oct. 15, 2018. A date range canbe Oct. 10-20, 2018. Accordingly, in some examples, job informationindicative of the manners in which the one or more sprayers are to beused may include date or date range for when work is to be done at theone or more jobs, and the manners in which the one or sprayers are to beused may include information about the sprayers being used on that dateor in that date range.

Creation of a job can also include assigning one or more sprayers 1 tothe project (e.g., information indicative of which sprayers 1 are to beused at the one or more job sits). The manager may oversee a fleet ofsprayers 1 and may deploy the sprayers 1 based on needs. For example,the manager may assign one particular sprayer 1 to a particular job, ormay assign multiple (e.g., three) particular sprayers 1 to a particularjob, or may assign one particular sprayer 1 to three particular jobs,etc. Other information may be input to create the job.

The input information for the job is sent to the network server 35 instep 101. The network server 35 receives the job information in step102. The job information is stored in memory 37 on the network server 35while the network server 35 waits for work on the job to begin. In thismanner, the network server 35 may store job information includinginformation indicative of manners in which the one or more sprayers areto be used at the one or more job sites.

In step 103, an assigned sprayer 1 connects with a handheld computer 14at the location of the job site. The connection can occur in any waymentioned herein. For example, the sprayer 1 may connect via aBLUETOOTH™ protocol with a smartphone serving as the handheld computer14. The handheld computer 14 then collects location information in step104. The location information can include longitudinal and latitudinalcoordinates from the GPS module 19. In another embodiment, the user caninput an address of the location using the one or more interfaces 20. Insome cases, the location information can be location informationassociated with a cell tower (e.g., cellular communication towerinformation) or Wi-Fi module (e.g., wireless network identificationinformation) with which the handheld computer 14 is wirelesslyconnected. The handheld computer 14 can also collect operatorinformation. In some examples, the operator information can include thename of the user, or the particular user account, using the program onthe handheld computer 14 that is interfacing with the sprayer 1 and thenetwork server 35. In step 105, the handheld computer 105 sends thelocation, operator information, ID of the sprayer 1, and/or otherinformation to the network server 35. In step 106, the network server 35receives the location, operator information, sprayer ID, and/or otherinformation.

In step 107, the network server 35 can reference a list of jobs toidentify which job or jobs meet criteria based on the location, operatorinformation, sprayer ID, date, and/or other information. For example,only those jobs created or otherwise associated the owner and/oroperator of the sprayer 1, based on sprayer ID as previously registered,may be identified. As one example, the network server 35 may receiveinformation identifying a sprayer of the one or more sprayers andinformation identifying a job site of the one or more job sites wherethe identified sprayer is located. The network server 35 may determinewhether the identified sprayer is to be located at the identified jobsite based on the information indicative of which sprayers of the one ormore sprayers are associated with which job sites of the one or more jobsites (e.g., compare the identified sprayer and identified location tostored information of which sprayers are associated with which jobsites).

Additional or alternative identification criteria for a job can be basedon the operator information. For a particular sprayer 1 or company, onlycertain user accounts may be able to view certain jobs. When creating ajob in step 100, the manager may have selected which user account(s) areallowed to view or add data in association with the particular job beingcreated, and in step 107, the network server 35 may only identify thosejobs for which the current operator or user account is allowed to viewor contribute to. For instance, the job information may includeinformation indicative of users that are allowed to work at the one ormore job sites (e.g., authorized operators). In such examples, thenetwork server 35 may determine which ones of the one or more handheldcomputers 14 are to receive job information. The network server 35 maythen transmit the job information to the determined ones of the one ormore handheld computers 14.

Additional or alternative identification criteria can be based onproximity, comparing the distance between the location indicated by thehandheld computer 14 collected in step 104, to the location of the jobcollected in step 100. In some alternative embodiments, the sprayer 1itself may have a GPS module and may generate its own locationinformation to be sent to the network server 35 via a handheld computer14 to indicate the location. In this way, as one example, the networkserver 35 may determine whether a sprayer is proximate to an identifiedjob site. Based on whether the sprayer is proximate to the identifiedjob site, the network server 35 may determine whether the sprayer is tobe located at the identified job site.

As an example, there may be a plurality of sprayers associated with ajob site. In one example, the network server 35 may receive informationindicative of a location of a particular sprayer. In this example, thenetwork server 35 may determine if the particular sprayer is proximateto the job site. If the particular sprayer is proximate to the job site,the network server 35 may determine whether the particular sprayer isassociated with the job site and should be located at the identified jobsite, or elsewhere.

The network server 35 may have a predetermined range, such as 100 feet,1000 feet, 1 mile, 5 miles, or some other range, within which job(s)will be identified if the job is within the range from the location ofthe handheld computer 14 (or sprayer 1 if the sprayer 1 generated itsown location information). For example, if the predetermined range is1000 feet, then the network server 35 will identify all jobs having alocation that is within 1000 feet of the location of the handheldcomputer 14, and will not identify those jobs having a location that ismore than 1000 feet of the location of the handheld computer 14.

Additional or alternative identification criteria can be based on a dateor date range associated with the job. When created, a job can have adate range associated with it. The date or date range can be the windowof time in which the job is to be completed. If the current date is thesame as the date or within the date range, then that job can beidentified, whereas if the current date is not the same as or is outsideof the date range, then that job may not be identified in the search bythe network server 35. In some cases, a job may be identified if it iswithin a particular timeframe of the date or date range, even if thecurrent date falls outside of the date or date range. For example, thetimeframe might be a 7 days window or 30 days window (or other window),so that all jobs having a date or date range within a 7 days window or30 days window (or other window) of the current date will be identified,whereas if the current date is outside of the timeframe of a particularjob, then the job will not be identified. Extending the search within atime window beyond the planned date or date range of completion of thejob may be useful because jobs may be delayed due to weather or otherfactors, and it can be desirable for painters to be able to find a jobeven if the job was supposed to already be completed, yet still filterout jobs outside of the timeframe so as to not overwhelm the search forthe correct job.

For example, the information indicative of manners in which the one ormore sprayers are to be used at the one or more job sites includesinformation indicative of time ranges for each of the job sites duringwhich time one or more of the one or more sprayers are to be used at theone or more job sites. The network server 35 may be configured toreceive information identifying a sprayer of the one or more sprayers 1and information identifying a job site of the one or more job siteswhere the identified sprayer is located. The network server 35 maydetermine whether the identified sprayer is to be used at the identifiedjob site based on information indicative of time ranges for the job sitefrom the information indicative of the time ranges for each of the jobsites (e.g., compare the time ranges to the actual time to determine ifsprayers are authorized to spray fluid at the job site).

The network server 35 may additionally or alternatively only identifythose jobs for which the manager has approved the particular useraccount of the user of the handheld computer 14 working on the job orotherwise attempting to view job data. For instance, the network server35 may transmit job information to the determine ones of the handheldcomputers 14 that are associated with users that are allowed to work atthe job sites.

In some cases, the identified jobs can be those jobs that satisfy singlecriteria such as any criteria discussed above. In some cases, theidentified jobs can be those jobs that satisfy multiple criterions.

A list of all jobs can be saved in memory 37 of the network server 35.The step of identifying jobs based on criteria can be performed by theprocessor 39 of the network server 35 comparing the criteria to the jobssaved in memory 37. Those jobs meeting the criteria become identifiedjobs for the session between the handheld computer 14 and the networkserver 35, while those jobs not meeting the criteria do not becomeidentified jobs for the particular session between the handheld computer14 and the network server 35. In some cases, multiple jobs will beidentified, while in some other cases one job or no jobs will beidentified. While the network server 35 is shown as identifying jobsfrom a stored list of jobs based on criteria, the handheld computer 14itself may search and identify the jobs based on a list of jobs,including associated job information, sent to the handheld computer 14by the network server 35 or otherwise saved on in memory 16 of thehandheld computer 14.

For instance, each of one or more handheld computers 14 may beassociated with one or more sprayers 1. In one example, network server35 may be configured to determine which ones of the one or more handheldcomputer 14 are to receive job information and transmit the jobinformation to the determined ones of the one or more handheld computers14. In one example, the network server 35 may transmit the jobinformation to one or more handheld computers 14 and each of the one ormore handheld computers 14 may determine with which job information theone or more handheld computers 14 are associated.

In step 108, the network server 35 sends the identified jobs to thehandheld computer 14. The job information sent can include some or allof the information input to create the job in step 100. The jobinformation can include the name of the job, the location of the job,names of one or more sprayers assigned to the job, the type of sprayerassociated to the job, and/or other information. In step 109, thehandheld computer 14 receives the identified jobs. In step 110, thehandheld computer 14 presents the identified jobs to the user, such ason a touchscreen. Presenting the jobs to the user can include presentingthe name of the job, the location of the job, and/or any otherinformation input to create the job in step 100. For example, thedisplay on the handheld computer 14 can display multiple iconsrespectively corresponding to the identified jobs, each icon indicatingthe name of the particular job as well as its location and/or timeinformation (completion day or window), information on assignedsprayer(s) such as name or type, and/or other information. In step 111,the user of the handheld computer 14 can select one of the presentedjobs, such as by touching the particular icon on a touchscreen, theprocessor 18 of the handheld computer 14 receiving an indication ofwhich job was selected. In some examples, the handheld computer 14 canautomatically select a job. That is, rather than receiving an indicationof a selected job via user input at the graphical user interface, thehandheld computer 14 can automatically select a job without receivinguser input for the selection. For instance, the handheld computer 14 canautomatically select a job in response to determining that only one jobis identified and/or if selection criteria indicate only one job for thelocation and/or user.

Based on the selection of a job (e.g., via user selection or automaticselection by the handheld computer 14), sprayer usage information of thesprayer 1 can be sent to the network server 35 in step 112. For example,after the reception of the selection in step 111, data previously and/orsubsequently generated by the sprayer 1 and sent to the handheldcomputer 14 during the current session between the handheld computer 14in the sprayer 1 will be associated in memory with the selected job 111by the handheld computer 14 and/or by the network server 35 whensubsequently sent to the network server 35. More specifically, memoryentries for productivity data (e.g., hourly volume sprayed) can includejob association information (e.g., the name or ID of the job) that thevarious productivity data entries can be aggregated between differenttime frames for the sprayer 1 and from other sprayers 1 to track overallproductivity for the job.

For instance, in some examples, the network server 35 may determine howmuch fluid a particular sprayer 1 is spraying (e.g., usage informationof the sprayer) and compare the usage information of the particularsprayer 1 to information indicative of how much fluid the particularsprayer 1 is to spray in a time period. However, in some examples, thenetwork server 35, rather than on a sprayer-by-sprayer basis, maydetermine, on a job site-by-job site basis, how much fluid is beingsprayed by aggregating usage information of the sprayers at a job site.The network server 35 may receive information indicative of usage dataof each sprayer of the set of sprayers and aggregate the receivedinformation indicative of the usage data of each sprayer to generate anaggregated usage data of the set of sprayers. The network server 35 maycompare the aggregated usage data of the set of sprayers to informationindicative of how much fluid the set of sprayers are to spray within thetime period, and output information indicative of whether the aggregatedusage data of the set of sprayers is less than, equal to, or greaterthan the how much fluid the set of sprayers are to spray within the timeperiod.

The associating of sprayer usage data of the sprayer 1 with the selectedjob can continue for as long as the handheld computer 14 stayswirelessly connected to the sprayer 1 (referred to herein as a session),which can be, e.g., for the remainder of the working day. For instance,the network server 35 may receive information indicative of the amountof volume sprayed for a job site from one or more handheld computers 14associated with respective ones of the one or more sprayers 1 located atthe job site. In some embodiments, data is only sent on a periodicbasis, such as hourly or daily. In some cases, associating of sprayer 1usage data with the selected job can continue for as long as thehandheld computer 14 does not start a session with a different sprayer1, such that the sprayer 1 can be turned off and turned back on toreestablish the connection and resume data generation and transmissionto the handheld computer 14 while generated data continues to beassociated with the selected job. In some cases, associating of sprayer1 usage data with the selected job can continue for as long as adifferent job is not selected using the handheld computer 14. The one ormore interfaces 20 of the handheld computer 14 may include an icon forending a session, which if selected by the user ends associating furthercollected sprayer 1 usage data with the selected job. In some cases,usage data previously generated by the sprayer 1 and sent to thehandheld computer 14 can be associated with the selected job by the userusing the one or more interfaces 20 of the handheld computer 14 beforethe usage data, including job association information, is sent to thenetwork server 35.

In step 113, the network server 35 receives the sprayer 1 usageinformation. The network server 35 can receive usage information formultiple different sprayers 1 for the same job, and can also receiveusage information from a single sprayer 1 over multiple jobs. Sprayer 1usage information can be stored in memory 37 for later retrieval. Theusage information can later be referenced and sent to another device,such as the personal computer 29 as shown in step 114. The personalcomputer 29 receives this usage information in step 115 for display onone or more interfaces 34. The usage information sent and received canbe from multiple sprayers, multiple jobs, and multiple user accounts.For example, a manager operating the personal computer 29 may be able toaccess all of the usage information of all of the sprayers 1 in theirfleet, but may not be able to access usage information for the sprayers1 that the manager is not indicated in the memory 37 of the networkserver 35 to be owned by the company with which the manager account isassociated. While the usage information is shown as being sent to thepersonal computer 29, the same information could be sent to a handheldcomputer 14 for viewing.

FIG. 12 is a schematic of a system for tracking productivity. Componentswith reference numbers similar to that previously shown and describedcan be the same the system. For example, sprayers 1A and 1B can bedifferent embodiments of sprayer 1, and HHC's 14A-D can be differentembodiments of handheld computer 14. Two locations, location A andlocation B, are shown. Each location can be a single point with a radiusindicated, or can be a defined area. As shown, each of handheld computer14A, handheld computer 14B, sprayer 1A, and sprayer 1B are withinlocation A. Each of handheld computer 14A, handheld computer 14C,sprayer 1A, and sprayer 1C are within location B. As shown, handheldcomputer 14A is moved from location A to location B. Likewise, sprayer1A is moved from location A to location B.

Jobs A-C are within location A such that sprayers 1A and 1B can be usedto complete jobs A-C. Jobs D-F are within location B such that sprayers1A and 1C can be used to complete jobs D-F. Workers can move betweenlocation A and location B to complete jobs A-F and can bring and/orleave equipment as necessary. For example, sprayer 1A is transportableto complete different jobs in different locations. Any of handheldcomputers 14A, 14B can be used to wirelessly connect with sprayer 1A, 1Bin location A for ferrying of data to the network server 35 via thecellular network 41. Likewise, any of handheld computers 14A, 14C can beused to wirelessly connect with sprayer 1A, 1C in location B forferrying of data to the network server 35 via the cellular network 41.It is expected that a user will consistently use their particularhandheld computer 14, while using different sprayers 1A-1C day-to-day.Therefore, each sprayer 1A-C can connect with different handheldcomputers 14A-14C at different times.

The schematic of FIG. 12 can demonstrate several scenarios of use of thesystem. For example, a manager may use the personal computer 29 orhandheld computer 14D to register an owner account for a paintingcompany, the account associating the name of the company (e.g., A+ PaintWorks) with the account in memory of the network server 35. The managercan then register sprayers 1A, 1B while in short range wirelessproximity to the sprayers 1A, 1B using the handheld computer 14D (e.g.,if both sprayers 1A, 1B and the handheld computer 14D were at locationA). The manager can then register sprayer 1C while in short rangewireless proximity to the sprayer 1C using the handheld computer 14D(e.g., if both the sprayer 1C and the handheld computer 14D were atlocation B). The manager can use the personal computer 29 or handheldcomputer 14D to create jobs A-F. In creating jobs A and C, the managercan associate sprayers 1A, 1B and location A with jobs A and C. Increating job B, the manager can associate sprayer 1B and location A withjob B. In creating jobs D-F, the manager can associate sprayers 1A, 1Cand location B with jobs D-F. Other criteria can be associated with eachof the jobs A-F, such as such job dates/ranges, user accounts, and/orany other criteria referenced herein.

A painter using the handheld computer 14A can go to location A withsprayer 1A and wirelessly connect the handheld computer 14A to thesprayer 1A, as discussed herein. When connected to the sprayer 1A, thepainter can use the handheld computer 14A to transmit the sprayer ID ofthe sprayer 1A and information about location A (e.g., address or globalcoordinates) to the network server 35 via the cellular network 41. Thenetwork server 35 can compare the ID of sprayer 1A and the informationabout location A to a database of jobs, identifying job A and job C. Thenetwork server 35, in this example, did not identify job B because job Bwas not associated with sprayer 1A by the manager. The network server35, in this example, did not identify any of jobs D-F because those jobsare associated with location B and not location A.

Information about identified job A and job C can be sent by the networkserver 35 to the handheld computer 14A via the cellular network 41. Thehandheld computer 14A can then present information about jobs A and C tothe painter, and receive a selection of either job from the painter.Assuming the painter selected job A, usage data (e.g., previously orsubsequently generated) from sprayer 1A is sent to the handheld computer14A, then to the network server 35 via the cellular network 41 forstorage on the server network 35 in association with the selected job A.

While remaining in location A, the painter can then select job B usingthe interface on the handheld computer 14A, which has the result ofdeselecting job A, such that usage data (e.g., previously orsubsequently generated) from the sprayer 1A is sent to the handheldcomputer 14A then to the network server 35 via the cellular network 41for storage on the server network 35 in association with the selectedjob B.

A second painter may use handheld computer 14B to wirelessly connectwith sprayer 1B at location A. The handheld computer 14B sends thesprayer ID of sprayer 1, information regarding location A, andinformation about the user account of the second painter to the networkserver 35 via the cellular network 41. The network server 35 comparesthis criteria to a list of stored jobs and identifies only job Cbecause, when job C was created, it was associated with sprayer 1B,location A, and the user account of the second painter, whereas jobs Aand B were not associated by the manager with the user account of thesecond painter. The second painter can select job C on the handheldcomputer 14B. Usage data (e.g., previously or subsequently generated)from the sprayer 1B is sent to the handheld computer 14B, then to thenetwork server 35 via the cellular network 41 for storage on the servernetwork 35 in association with the selected job C. The network server 35then aggregates the usage data generated by sprayer 1A and sprayer 1B totrack productivity (e.g., volume sprayed per hour and total) of job C.

After completion of job C, the first painter can transport sprayer 1Aand handheld computer 14A to location B. The first painter can use thehandheld computer 14A to connect with sprayer 1A or sprayer 1C. Ineither case, wireless connection to the sprayer and communication by thehandheld computer 14A to the network server 35 can return identifiedjobs D-F for selection. Handheld computer 14C can wirelessly connect tothe other of sprayer 1A or 1C and the network server 35 via cellularnetwork 41 to return jobs D-F. The first or the second painter can thenuse the sprayers 1A, C to generate usage data which is sent by thehandheld computers 14A, 14C to the network server 35 via the cellularnetwork 41 for association with the selected job or jobs.

In this way, FIGS. 11 and 12 illustrate examples of aggregatinginformation from different sprayers for one job or information from onesprayer used for different jobs. For example, one or more handheldcomputer devices 14 communicative couplable to the one or more sprayers1. Each of the one or more handheld computers 14 may be configured toreceive information indicative of one or more jobs from the plurality ofjobs. For example, network server 35 may receive information associatingthe one or more sprayers 1 to the one or more jobs, and transmit theinformation indicative of the one or more jobs from the plurality ofjobs to the handheld computer 14 based on the association of the one ormore sprayers to the jobs. As another example, network server 35 may beconfigured to receive information associating the one or more sprayersto respective locations of the one or more jobs, and transmit theinformation indicative of the one or more jobs from the plurality ofjobs to the handheld computers 14 based on the association of therespective locations to the jobs. As another example, the network server35 may be configured to receive information associating the one or morejobs with user credentials and transmit the information indicative ofthe one or more jobs from the plurality of jobs based on received usercredentials. As another example, network server 35 may be configured toreceive information associating the one or more jobs with one or more ofa date, date range, or timeframe within the data range, and transmit theinformation indicative of the one or more jobs from the plurality ofjobs based on a current date and the received information associatingthe one or more jobs with one or more of a date, date range, ortimeframe within the data range.

The information associating the one or more sprayers 1 to the one ormore jobs or to respective locations of the one or more jobs may includeinformation associating one sprayer to one job, information associatingone sprayer to multiple jobs, or information associating multiplesprayers to one job.

Handheld computers 14 may receive user selection of a job of the one ormore jobs. For instance, the user may use the interface 20 to view theone or more jobs and select of the jobs. Handheld computers 14 mayreceive information from the one or more sprayers 1, the informationindicative of an amount of fluid sprayed by the one or more sprayers 1with which the one or more handheld computer devices 14 arecommunicatively coupled, and output the information indicative of theamount of fluid sprayed in association with the selected job of the oneor more jobs from the plurality of jobs.

Network server 35 may be configured to receive from each of the one ormore handheld computers 14 respective information indicative of theamount of fluid sprayed for respective jobs and update respective sprayvolume logs (as described above) based on respective informationindicative of the amount of fluid sprayed for respective jobs. The sprayvolume logs are respectively associated with the plurality of jobs andeach spray volume log includes information indicative of the amount offluid sprayed at the associated jobs. Network server 35 may generateinformation for display indicative of respective amounts of fluidsprayed for the plurality of jobs based on the spray volume logs.

As described above, multiple sprayers 1 may be used for one job or onesprayer 1 may be used for multiple jobs. Network server 35 may beconfigured to aggregate the fluid output values from the differentsprayers 1 to determine the amount of fluid (e.g., paint) that issprayed on a job-by-job basis.

As one example, two or more of the plurality of sprayers 1 are for thesame job of the plurality of jobs. In such examples, to receive fromeach of the one or more handheld computer 14 respective informationindicative of the amount of fluid sprayed for respective jobs, networkserver 35 is configured to receive from respective one or more handheldcomputers 14 communicatively coupled to the two or more of the pluralityof sprayers 1 respective amounts of fluid sprayed by the two or more ofthe plurality of sprayers 1. Also to update respective spray volumelogs, network server 35 is configured to aggregate the respective amountof fluid sprayed by the two or more of the plurality of sprayers 1 toupdate a spray volume log, associated with the job associated with thetwo or more of the plurality of sprayers 1.

As another example, a sprayer 1 of the plurality of sprayers 1 is fortwo or more of the plurality of jobs. In such examples, to receive fromeach of the one or more handheld computers 14 respective informationindicative of the amount of fluid sprayed for respective jobs, networkserver 35 is configured to receive from respective one or more handheldcomputers 14 communicatively coupled to the sprayer of the plurality ofsprayers respective amounts of fluid sprayed by the sprayer 1 at the twoor more of the plurality of jobs. Also, to update respective sprayvolume logs, network server 35 may be configured to update a first sprayvolume log for a first job of the two or more of the plurality of jobsbased on an amount of fluid the sprayer sprayed at the first job, andupdate a second spray volume log for a second job of the two or more ofthe plurality of jobs based on an amount of fluid the sprayer sprayed atthe second job.

In this manner, this disclosure describes examples of techniques inwhich there are one or more sprayers 1 for spraying fluid for aplurality of jobs. Network server 35 may be configured to receiveinformation generated by the one or more sprayers 1. The information maybe indicative of the amount of fluid sprayed for respective jobs.Network server 35 may update respective spray volume logs based onrespective information indicative of the amount of fluid sprayed forrespective jobs. The spray volume logs are respectively associated withthe plurality of jobs and each spray volume log includes informationindicative of the amount of fluid sprayed at the associated jobs.Network server 35 may generate information for display indicative ofrespective amounts of fluid sprayed for the plurality of jobs based onthe spray volume logs. One or more handheld computers 14, one or moresprayers 1, and network server 35 may operate together in the mannerdescribed throughout this disclosure.

In some examples, network server 35 may receive a plurality of jobprofiles respectively corresponding to a plurality of painting projectsfor one or more paint sprayers 1. The one or more sprayers 1 may beconfigured to generate a plurality of spray volume data sets andtransmit the plurality of spray volume data sets (e.g., to handheldcomputer 14 or directly to network server 35). Network server 35 mayreceive the plurality of spray volume data sets (e.g., directly from thesprayers 1 or from handheld computers 14). Network server 35 may receiveinputs respectively associating the plurality of spray volume data setswith the plurality of painting projects, determine spray volume valuesfor the plurality of painting projects based on the plurality of sprayvolume data sets respectively associated with the plurality of paintingprojects, and generate an output based on the spray volume values.

As an example, transmitting the plurality of spray volume data setsincludes receiving, on one or more handheld devices, informationindicative of one or more jobs from the plurality of jobs, receivinguser selection of a job of the one or more jobs, receiving informationfrom the one or more sprayers, the information indicative of an amountof fluid sprayed by the one or more sprayers with which the one or morehandheld computer devices are communicatively coupled, and outputtingthe information indicative of the amount of fluid sprayed in associationwith the selected job of the one or more jobs from the plurality ofjobs.

In some examples, receiving inputs respectively associating theplurality of spray volume data sets with the plurality of paintingprojects includes receiving information indicating that a first sprayvalue data set generated by a first sprayer is associated with apainting project, and receiving information indicating that a secondspray value data set generated by a second sprayer is associated withthe same painting project. In some examples, receiving inputsrespectively associating the plurality of spray volume data sets withthe plurality of painting projects includes receiving informationindicating that a first spray value data set generated by a firstplurality of sprayers is associated with a first painting project andreceiving information indicating that a second spray value data setgenerated by a second plurality of sprayers is associated with a second,different painting project.

In some examples, determining spray volume values for the plurality ofpainting projects based on the plurality of spray volume data setsrespectively associated with the plurality of painting projects includesupdating respective spray volume logs based on respective informationindicative of the amount of fluid sprayed for respective jobs, whereinthe spray volume logs are respectively associated with the plurality ofjobs and each spray volume log includes information indicative of theamount of fluid sprayed at the associated jobs.

The spray volume data that is calculated by the sprayer 1 and exportedvia the handheld computer 14 can be used for managing maintenance of thesprayer 1. The sprayer 1 includes various wear components, such as pumpcomponents (e.g., packings, valves, piston, etc.) and gun componentssuch as the spray tip. Each of these components should be replaced on aperiodic basis to maintain optimal performance of the sprayer 1, howevereach component wears at a different rate and has a different life, suchthat maintenance must be done at different times for differentcomponents. The principal wear of the components is due to sprayingpaint under pressure. Therefore, the spray volume data can be used tomonitor the wear of the components and trigger alerts. In someembodiments, the spray volume will be compared to a threshold, and whenthat threshold is met or exceeded, an alert will be sent to the user toperform maintenance. The threshold can therefore represent a maintenancereminder level for inspection or replacement of components.

Multiple handheld computers 14 may handle spray data for a singlesprayer 1, such that one handheld computer 14 alone may not handle allspray data for the sprayer 1. Therefore, the maintenance threshold canbe held by the network server 35 and can perform comparison of spraydata to the threshold is determined when maintenance is needed, and thencan issue the alert to a handheld computer 14 being currently used inassociation with the sprayer 1 when the maintenance threshold isreached. Also, the maintenance threshold and spray data can be measuredin terms of lifetime spray volume of the sprayer 1.

The maintenance reminders can be set on the handheld computer 14 or thepersonal computer 29 and then communicated to the network server 35 andsaved therein. For example, multiple maintenance reminders can be inputinto the handheld computer 14 in association with the particular sprayer1.

The comparison of the spray volume to the threshold can be performed bythe network server 35 as spray volume log information is received fromthe handheld computer 14. The maintenance alert can be sent out from thenetwork server 35 to the personal computer 29 and/or the handheldcomputer 14 when the threshold is met. In some examples, the sprayerdoes not perform the comparison of the spray volume with the thresholdto generate the maintenance alert, but rather such comparison isperformed by one of the handheld computer 14, the personal computer 29,and the network server 35. In such examples, the functionality oftracking output volumes and maintenance reminders is offloaded from thesprayer to the remote devices (e.g., the handheld computer 14, thepersonal computer 29, and/or the network server 35), thereby reducingthe amount of data that is stored at the sprayer (i.e., the maintenancereminder schedule and corresponding threshold volume outputs) as well asreducing the processing burden on processors of the sprayer to performthe threshold comparisons and maintenance alerts.

In certain examples, any one or more of the handheld computer 14, thepersonal computer 29, and/or the network server 35 can track multiplealerts (e.g., maintenance reminders) for a sprayer with respect to acommon volumetric starting point. For instance, with respect to acurrent lifetime volumetric output of the sprayer (e.g., currentlifetime gallons of output), multiple alerts can be generated toreplace, e.g., a tip of the sprayer at a first period of volumetricoutput (e.g., every first number of gallons) and packings of the sprayerat a second period of volumetric output (e.g., ever second number ofgallons, which can be different than the first number of gallons). Morethan two different thresholds, periods of volumetric output, or othermaintenance thresholds can be utilized, such as three or more differentthresholds. In certain examples, the differing thresholds utilized foralerts can be generated with respect to a time of use, rather than thevolumetric output.

The maintenance comparison is done by the handheld computer 14 or thenetwork server 35. The data for the maintenance tracking is provided bythe sprayer 1 and sent to the handheld computer 14 and possibly thenetworks server 35 as discussed herein. Maintenance logs may be based onspray logs previously described herein. Being that the spray logs onlylog spray volume when the pressure is greater than the threshold amount,the maintenance tracking is performed with spray data representingspraying at or above a particular fluid pressure threshold, and is notperformed using spray data is collected when spraying below theparticular fluid pressure threshold.

FIG. 13 is a flow diagram illustrating example operations for outputtinga notification from the network server 35 in response to receivingsprayer identification data of a sprayer associated with a statusindicating that the sprayer is unaccounted for. The example operationsof FIG. 13 can be useful for locating a sprayer that may be misplaced,stolen, or otherwise unaccounted for. The example techniques of FIG. 13can enable an owner, foreman, or other user to log into an account onthe network server 35 associated with a sprayer and indicate that thesprayer is unaccounted for (e.g., missing, stolen, or otherwiseunaccounted for). After the sprayer is indicated as unaccounted for, andin response to receiving identification information of the sprayer(e.g., from a handheld computer 14 uploading usage or other data of thesprayer), the network server 35 outputs a notification to a userassociated with the account (e.g., an owner) and/or the handheldcomputer 14 that sends the sprayer identification information and/orusage information to the network server 35. In some examples, thenotification includes location information of the remote computingdevice that sends the sprayer identification information, such as GPScoordinates of the remote computing device, thereby enhancing theability of the owner or other user associated with the registeredaccount to locate the sprayer. While the example operations of FIG. 13are illustrated and described herein with respect to the handheldcomputer 14 and the personal computer 29, it should be understood thatthe techniques of FIG. 13 can be performed using any computing device(or devices) that are remote from and communicatively coupled with thenetwork server 35.

As illustrated in FIG. 13, the handheld computer 14 connects with asprayer, such as sprayer 1 (Step 116). For instance, the handheldcomputer 14 can be a smart phone or other computing device of a user,such as a painter, that connects to an assigned sprayer (e.g., sprayer1) at the location of a job site, as is described in further detailabove. The connection can occur in any manner described herein, such asvia a BLUETOOTH™ communication protocol with a smartphone serving as thehandheld computer 14. For instance, when the sprayer 1 is powered, thesprayer 1 can broadcast identification information of the sprayer 1,such as over a short-range wireless protocol (e.g., the Bluetoothprotocol) from the wireless module 23. The broadcasted sprayeridentification information can include the model number of the sprayer1, the serial number of the sprayer 1, a particular name previouslyassigned to the sprayer 1, or any other information uniquely identifyingthe sprayer 1. The handheld computer 14 receives the sprayeridentification information and/or sprayer usage information (e.g., fluidvolume output information or other usage information) from the sprayer1.

The handheld computer 14 transmits the sprayer 1 identificationinformation and, in some examples, usage information of the sprayer 1 tothe network server 35 (Step 118). In certain examples, the handheldcomputer 14 transmits location information of the handheld computer 14,such as longitudinal and latitudinal coordinates identified by the GPSmodule 19 of handheld computer 14. The handheld computer 14 can transmitthe identification information of sprayer 1 (and, in some examples,location information of the handheld computer 14) while the handheldcomputer 14 is wirelessly connected to the sprayer 1 or while thehandheld computer 14 is not wirelessly connected to the sprayer 1. Forinstance, the handheld computer 14 can transmit the identificationinformation of the sprayer 1, usage information of the sprayer 1, and/orlocation information of the handheld computer 14 to the network server35 while the handheld computer 14 is wirelessly connected to the sprayer1, such as during operation of the sprayer 1 at a job location. In otherexamples, such as when a wireless connection between the handheldcomputer 14 and the network server 35 is unavailable when the handheldcomputer 14 is wirelessly connected to the sprayer 1, the handheldcomputer 14 can transmit the identification information of the sprayer1, the usage information of the sprayer 1, and/or the locationinformation of the handheld computer 14 to the network server 35 whenthe wireless connection between the handheld computer 14 and the networkserver 35 becomes available (e.g., when the handheld computer 14 iswithin range of a cellular communication network or other wirelessnetwork).

The network server 35 receives the identification information of thesprayer 1 and, in certain examples, location information of the handheldcomputer 14 (Step 120). The network server 35 then identifies aregistered account associated with the sprayer 1 (Step 122). Forexample, the network server 35 can store, at memory 37, registeredaccount information that associates the sprayer 1 with, e.g., an owneror other user (e.g., an owner account). The registered account canassociate any one or more sprayers with the account, which can beidentified by the network server 35 via the sprayer identificationinformation. For instance, the network server 35 can identify one of aplurality of registered accounts (e.g., owner accounts) that isassociated with the identification information of the sprayer 1, such asby searching a database or other data store within memory 37 or withinmemory of a computing device remote from and communicatively coupledwith the network server 35 that associates the sprayer identificationinformation with registered accounts.

The network server 35 determines that a status associated with theidentified sprayer 1 in the registered account indicates that thesprayer 1 is unaccounted for (Step 124). For example, the network server35 can store status information associated with any one or more sprayersof the registered account. The status information can indicate, e.g., astatus indicating whether the respective sprayer is accounted for orunaccounted for (e.g., by the owner or other user associated with theregistered account). That is, an owner or other user associated with theregistered account can provide login credentials, such as a username andpassword, to log into the registered account associated with the sprayerat the network server 35 and provide a status indication that thesprayer is unaccounted for (e.g., has unknown location and/or jobstatus) or accounted for (e.g., has a known location and/or job status).In some examples, the status information can include the location of thesprayer, such as a location of a job to which the sprayer is assigned,or a last known location of the sprayer. In the example of FIG. 13, thenetwork server 35 determines that the status associated with theidentified sprayer 1 (based on the received identification informationof the sprayer 1) indicates that the sprayer 1 is unaccounted for.

The network server 35 provides a notification to one or more usersassociated with the registered account in response to determining thatthe sprayer identification information is received and the registeredaccount includes the status associated with the identified sprayer 1indicating that the identified sprayer 1 is unaccounted for (Step 126).For example, the network server 35 can store, in association with theregistered account, an electronic mail (email) address associated withone or more users of the registered account, a Short Message Service(SMS) address associated with one or more users of the registeredaccount, a voicemail address associated with one or more users of theregistered account, or any other electronic communication addressassociated with one or more users of the registered account. Thenotification transmitted to the one or more users associated with theregistered account can include an indication that the network server 35received the identification information of the sprayer 1, an indicationof the location of the sprayer based on location information receivedfrom the handheld computer 14, user credential information of a user(e.g., a painter) connected with the sprayer 1, and/or a time and datewhen the handheld computer 14 connected with the sprayer 1. In someexamples, the notification transmitted to the one or more usersassociated with the registered account (e.g., the owner) is transmittedwithout providing a notification to the handheld computer 14 or a userof the handheld computer 14 that reported the status and location of thesprayer 1.

The one or more users associated with the registered account receive thenotification transmitted by the network server 35 (Step 128). Forinstance, as illustrated in FIG. 13, the user can receive thenotification at personal computer 29, such as by retrieving thenotification in email form, logging into the registered account at thenetwork server 35 to retrieve the notification, or otherwise retrievingthe notification via personal computer 29. Though the example of FIG. 13describes the use of the personal computer 29 to retrieve thenotification, in some examples, the user associated with the registeredaccount can retrieve the notification using any computing device thatcan be communicatively coupled with the network server 35, such asanother handheld computer 14 (e.g., a smartphone or tablet computer).

In some examples, such as the illustrated example of FIG. 13, thenetwork server 35 transmits a notification to the user of the handheldcomputer 14 that transmitted the sprayer identification information(Step 130), which is received by handheld computer 14 at Step 132. Thenotification can include the same information as the notification sentto the user associated with the registered account (in Step 126) ordifferent information. For instance, in some examples, the notificationtransmitted to the handheld computer 14 can include an indication thatthe sprayer 1 has a status indicating that the sprayer 1 is unaccountedfor. In certain examples, the notification transmitted to the handheldcomputer 14 can include the indication that the sprayer 1 has the statusindicating that the sprayer 1 is unaccounted for as well as anindication of the registered account and/or users associated with theregistered account (e.g., the owner). Information concerning thenotification is then displayed on the screen or other interface of thehandheld computer 14.

Accordingly, the techniques of the example of FIG. 13 can enable anowner, foreman, or other user having a registered account for which oneor more sprayers are associated to indicate that a sprayer is notaccounted for, such as when the sprayer is missing, not located at anassigned job sit, stolen, or otherwise unaccounted for. The networkserver 35 transmits a notification to the user associated with theregistered account (e.g., the owner) in response to a connection of thesprayer with a computing device (e.g., a handheld computer 14) thattransmits identification information of the sprayer to the networkserver 35. The notification can alert the owner or other user that thesprayer has been used and, in some examples, a location of the handheldcomputer 14 that transmitted the data. In examples where the handheldcomputer 14 transmits the identification data while wirelessly connectedwith the sprayer, the location information of the handheld computer 14can coincide with the location of the sprayer, thereby enabling the userof the account to identify a location of use (and possibly the physicallocation) of the sprayer. The notification can be sent to the owner orother user of the registered account without notifying the user of thehandheld computer 14, thereby possibly enabling a stolen sprayer to berecovered. In certain examples, a notification can be sent to the userof the handheld computer 14, thereby enabling the user of the handheldcomputer 14 (e.g., a painter) to notify the owner, foreman, or otheruser associated with the registered account of the location of thesprayer.

FIG. 14 is a flow diagram illustrating example operations for remotelysetting a pressure threshold of sprayer 1 using the wirelessly connectedhandheld computer 14. The example operations of FIG. 14 enable a user,such as a foreman, owner, or other user to remotely set a thresholdpressure, such as an upper threshold pressure, of sprayer 1 using thewireless connection between the handheld computer 14 and the sprayer 1.

For example, on a job site, there may be different motivations for thepainter and the foreman or owner. The painter may configure the sprayer1 in a high-pressure mode so as to complete the task. However, theforeman or owner may want the sprayer 1 configured in a low-pressuremode to ensure better finish and reduce wastage.

The sprayer 1 and/or the handheld computer 14 can output a notificationbased on a comparison of the threshold pressure to a measured pressureof the sprayer 1, such as when the measured pressure exceeds thethreshold pressure. That is, it can be desirable for an owner of sprayer1, a foreman of a job to which the sprayer 1 is assigned, or other userto set an upper threshold pressure guideline for application of fluid(e.g., paint) during a job. An increased output pressure of a pump ofthe sprayer 1 increases volumetric output of the sprayer 1, therebyproviding an incentive for painters or other users to increase thepressure to increase the volumetric output and decrease a time requiredto complete a job.

Pump pressures and corresponding volumetric outputs that exceed an upperthreshold, however, can decrease a quality of finish of the paint orother fluid that is applied at the job, such as by leaving drips,streaks, or an applied thickness of the fluid that is generallyundesirable. Over pressurization can also result in wastage of paintwhich can be a large cost driver. Over pressurization may be alsoincrease the wear-and-tear on the sprayer 1, requiring earliermaintenance or earlier break down. Accordingly, it can be advantageousto alert a user of the sprayer 1, a foreman or other supervisor of thejob, an owner of the sprayer 1, or other user when an output pressure ofa pump of the sprayer 1 exceeds a threshold pressure for the job.

As illustrated in FIG. 14, the handheld computer 14 receives anindication of a pressure threshold (Step 134). The threshold pressurecan be an upper threshold pressure that is, e.g., less than a maximumachievable pressure of a pump of the sprayer 1. The threshold pressurecan be changed based on the job to which the sprayer 1 is assigned. Thehandheld computer 14 (or personal computer 22) can receive theindication of the threshold pressure via a user one or more interfaces20 of the handheld computer 14, via a communication from the networkserver 35 when the job to which the sprayer 1 is assigned is selected,or otherwise received via user interaction with the handheld computer 14or received wirelessly via communication with the network server 35.Being able to remotely change the threshold pressure allows the managerto set a maximum pressure according to various conditions, such as theexperience level of the painter, the nature the project, the type ofpaint being sprayed, environmental factors amongst others. Also, if theworker desires higher pressure, the worker can call the manager torequest a higher lower pressure, the manager can remotely increase themaximum pressure. Therefore, the maximum pressure threshold can bechanged at all times throughout the day according to changing jobsiteconditions.

In the example of FIG. 14, the handheld computer 14 transmits thethreshold pressure to the sprayer 1 via wireless communication (Step136), which is wirelessly received at the sprayer 1 via, e.g.,BLUETOOTH™ or other wireless communication protocol (Step 138). In otherexamples, as is further described below, the handheld computer 14 doesnot transmit the threshold pressure to the sprayer 1, but rathercompares pressures received from the sprayer 1 to the threshold pressureand provides notifications based on the comparison.

As illustrated in FIG. 14, the sprayer 1 senses an actual fluid pressureof fluid downstream of a pump of the sprayer 1 (Step 140), such as viathe pressure sensor 28 that measures the hydraulic pressure of the fluid(e.g., paint) exiting, or otherwise pumped downstream of the pump 9 ofthe sprayer 1. The sprayer 1 compares the sensed actual fluid pressureand the threshold pressure (Step 142) using, e.g., the control circuitry21 of the sprayer 1. In examples where the threshold pressure is anupper threshold pressure, such as the example of FIG. 14, the sprayer 1determines whether the actual fluid pressure exceeds the thresholdpressure (Step 144). In other examples, such as examples where thethreshold pressure is a lower threshold pressure, the sprayer 1 candetermine whether the actual fluid pressure is less than the thresholdpressure.

As illustrated in FIG. 14, in examples where the measured actual fluidpressure does not exceed the threshold pressure (“NO” branch of Step144), the sprayer 1 continues to sense the actual fluid pressuredownstream of the pump of sprayer 1 (Step 140). The sprayer 1 cancontinue to iterate through Steps 140, 142, and 144 to measure theactual fluid pressure (Step 140), compare the actual fluid pressure andthe threshold pressure (Step 142), and determine whether the actualfluid pressure exceeds the threshold pressure (Step 144) duringoperation of the sprayer 1. In certain examples, the sprayer 1 does notoutput an indication of a result of the comparison of the actual fluidpressure and the threshold pressure until the sprayer 1 determines thatthe actual fluid pressure exceeds the threshold fluid pressure. In otherexamples, the sprayer 1 outputs an indication that the actual fluidpressure does not exceed the threshold pressure until the sprayer 1determines that the actual fluid pressure exceeds the thresholdpressure.

In response to determining that the actual fluid pressure exceeds thethreshold fluid pressure (“YES” branch of Step 144), the sprayer 1outputs a notification (Step 146). The notification can include any oneor more of an indication that the threshold pressure has been exceeded,an extent by which the actual fluid pressure exceeds the thresholdpressure (e.g., the difference between measured and threshold pressure),a time duration that the actual fluid pressure exceeds the thresholdpressure, and a date and/or time at which the actual fluid pressureexceeds the threshold pressure. In certain examples, the sprayer 1 canoutput the notification (in Step 146) in response to determining thatthe actual fluid pressure exceeds the threshold pressure for a thresholdtime duration, such as one second, five seconds, one minute, or otherthreshold time durations. In some embodiments, the measured pressuremust exceed the pressure threshold for a predetermined duration (e.g.,ten seconds) for the notification to be output in step 146, and thepressure exceeding the threshold for a shorter duration does not causethe notification to be output. In some embodiments, the measuredpressure must exceed the pressure threshold for a predetermined duration(e.g., ten seconds) while the pump 9 continues to pump (e.g., asdetermined by the pump cycle sensor 27 or the motor controller 25) forthe notification to be output in step 146, and the pressure exceedingthe threshold for a shorter duration and/or the pump 9 not being drivenduring the over pressurization does not cause the notification to beoutput. It is noted that the sprayer 1 continues to operate and spray(e.g., the motor controller 25 does not limit power to the motor 4)despite the pressure threshold being exceeded so that the paint cancontinue to complete the job, but the notification is nevertheless sentso that a supervisor can be informed of spraying while overpressure.

The notification is received by the handheld computer 14 (Step 148), andis transmitted from the handheld computer 14 to, e.g., the networkserver 35 and/or displayed at a display device of the handheld computer14 (Step 150). In examples where the handheld computer 14 transmits thenotification to the network server 35, the network server 35 can notifyan owner or other user of a registered account associated with thesprayer 1.

Though the example of FIG. 14 illustrates and describes the sprayer 1 asreceiving the threshold pressure and comparing the sensed actual fluidpressure to the threshold fluid pressure for outputting thenotification, it should be understood that in some examples, thehandheld computer 14 does not transmit the threshold pressure to thesprayer 1 for comparison with the sensed actual fluid pressure. In suchexamples, the sprayer 1 outputs the sensed actual fluid pressure (or anindicator of measured pressure) to the handheld computer 14 (e.g.,periodically, such as at regular time intervals, regular fluid outputvolumes, or other intervals). The handheld computer 14, in suchexamples, compares the actual fluid pressure received from the sprayer 1and the threshold pressure, and outputs any of the notificationsreferenced herein based on the comparison (e.g., such as when the actualfluid pressure exceeds the threshold pressure).

As such, techniques of FIG. 14 can enable a user of the sprayer 1 (e.g.,a painter), a foreman or other supervisor of a job to which the sprayer1 is assigned, and/or an owner of the sprayer 1 to be informed that athreshold pressure is exceeded. The techniques of FIG. 14 can thereforehelp to ensure that an output pressure of the sprayer 1 utilized for aparticular job is within a range of output pressures that are desirablefor the job, such as a range of output pressures that are below an upperthreshold pressure that promotes a uniform, high quality distribution ofthe fluid (e.g., paint) from the sprayer 1.

In this manner, FIG. 14 illustrates example techniques in which handheldcomputer 14 and/or network server 35 and/or control circuitry 21 ofsprayer 1, alone or in combination, may receive a plurality of pressurevalues when the pump 9 is being operated during a window (e.g., based ona duration of time or number of cycles (full or partial) of pump 9) anddetermine an aggregate pressure metric for the window based on theplurality of pressure values received during the window. Handheldcomputer 14 or control circuitry 21 may cause respective wirelessmodules to transmit the aggregate pressure metric. Examples of theaggregate pressure metric include one of an average, mode, or median ofthe one or more pressure values.

There may be various ways in which the pressure values are received. Asone example, the pressure values may be received based on a userselected pressure level. As another example, the pressure values may bedetermined based on pressure measurements from a pressure sensor.

Network server 35 may be configured to receive the pressure metric.Network server 35 may then output information indicative of the pressuremetric, to a personal computer 29, for display.

FIG. 15 is a flow diagram illustrating example operations for limitingan output pressure of the sprayer 1 to a threshold pressure that isreceived via wireless communication from the handheld computer 14. Theexample operations of FIG. 15 enable a user, such as a foreman, owner,or other user to remotely set a threshold pressure, such as an upperthreshold pressure, of the sprayer 1 using the wireless connectionbetween the handheld computer 14 and the sprayer 1. The sprayer 1 thenlimits the output fluid pressure of the sprayer 1 to the receivedthreshold pressure.

As illustrated in FIG. 15, handheld computer 14 receives an indicationof a pressure threshold (Step 152). The threshold pressure can be anupper threshold pressure that is, e.g., less than a maximum achievablepressure of a pump of the sprayer 1. The threshold pressure can bechanged based on the job to which the sprayer 1 is assigned. Forexample, each job, as referenced herein, when created or thereafter mayhave a maximum pressure limit input by the supervisor, and this maximumpressure limit is communicated to the sprayer 1. The handheld computer14 can receive the indication of the threshold pressure via a graphicaluser interface of the handheld computer 14, via a communication from thenetwork server 35 when the job to which the sprayer 1 is assigned isselected, or otherwise received via user interaction with the handheldcomputer 14 or received wirelessly via communication with the networkserver 35.

The handheld computer 14 wirelessly transmits the threshold pressure tothe sprayer 1 via, e.g., the Bluetooth or other wireless communicationdata protocol (Step 154). The threshold pressure is wirelessly receivedby the sprayer 1 (Step 156).

The sprayer 1 limits an output pressure of the sprayer 1 so that anactual fluid pressure sensed by sprayer 1 (e.g., via pressure sensor 28of sprayer 1) does not exceed the threshold pressure (Step 158). Forexample, the motor controller 25 of sprayer 1 can control motor 4 suchthat the actual fluid pressure sensed via the pressure sensor 28 ofsprayer 1 does not exceed the threshold pressure. For example, if themeasured pressure as measured by the pressure sensor 28 exceeds themaximum threshold pressure as determined by the processor 24 then theprocessor 24 can cause the motor controller 25 to decrease or stop powerdelivery to the motor 4 to slow or stop the pump 9 so that lower fluidpressure is developed. If the measured pressure as measured by thepressure sensor 28 drops below the maximum threshold pressure asdetermined by the processor 24 then the processor 24 can cause the motorcontroller 25 to increase or resume power delivery to the motor 4 tospeed up or cycle the pump 9 so that higher fluid pressure is developed.In some embodiments, the measured pressure must exceed the maximumthreshold pressure for a predetermined duration, such as 2 seconds,before the power is decreased or cut to the motor 4 to avoid momentarypressure spikes from interrupting spraying. In some examples, thecontrol circuitry 21 of the sprayer 1 adjusts limits corresponding to apotentiometer dial of the control 5 of sprayer 1, such that a maximuminput of the potentiometer dial corresponds to the threshold pressure.

Accordingly, techniques of FIG. 15 can enable a threshold pressure(e.g., an upper threshold pressure) of the sprayer 1 to be remotely setusing the wireless connection between the handheld computer 14 and thesprayer 1. The sprayer 1 limits the output fluid pressure to thereceived threshold pressure, thereby ensuring that the output pressureof the sprayer 1 does not exceed the threshold pressure.

For example, control circuitry 21 may receive the threshold pressure andthe pump output pressure setting (e.g., actual pressure as determinedfrom the pressure sensor or based on user selected pressure level).Control circuitry 21 may then control the operation of sprayer 1. Forexample, control circuitry 21 may cause the motor to drive output ofpump 9 to the pump output pressure setting unless the pump outputpressure setting is greater than the threshold pressure in which casecontrol circuitry 21 may cause the motor to drive the output of pump 9to the threshold pressure.

While the control circuitry 21 of the sprayer 1 calculating a sprayvolume metric based on cycle status of the pump 9 and then wirelesslytransmitting the spray volume metric to a handheld computer 14 isdiscussed herein in various embodiments, any such sprayer 1 embodimentmay instead not calculate spray volume but rather may wirelesslytransmit a pump cycle metric to the handheld computer 14 and thehandheld computer 14 (or the network server 35 in the event that thehandheld computer 14 transmits the pump cycle metric to the networkserver 35) and the handheld computer 14 may calculate the spray volumemetric based on the pump cycle metric. For example, the sprayer 1 maydetermine, save in memory 22, and transmit to the handheld computer 14number or fraction of pump cycles over a time window (e.g., 1 second, 10second, 1 minute, 1 hour). Based on the number or fraction of pumpcycles over the time window, the handheld computer 14 may calculatespray volume for the same time window in the same manner as discussedherein for the sprayer 1 calculating the spray volume. The sprayer 1 maydetermine, save in memory 22, and transmit to the handheld computer 14measured pressure to be used in the spray volume calculation asdiscussed herein. The calculated spray volume 14 may be used in any waydiscussed herein, such as for tracking painting productivity, managingjob data, or other action including being transmitted to the networkserver 35. Instead of the handheld computer 14 calculating the spraymetric, the number or fraction of pump cycles over the time windowand/or measured pressure data may be transmitted to the network server35 and the network server 35 may make the calculation. Every referenceto the sprayer 1 calculating a spray volume metric could be modifiedwith the sprayer 1 instead transmitting data for such a calculation andthe handheld computer 14 and/or the network server 35 insteadcalculating the spray volume metric.

Accordingly, FIGS. 14 and 15 illustrate examples in which the controlcircuitry 21 of the sprayer 1 is configured to receive a thresholdpressure wirelessly (e.g., control circuitry 21 may receive thethreshold pressure from a remote device such as handheld computer 14,network server 35). There may be benefits to wirelessly receiving thethreshold pressure, rather than relying on a constantpre-stored/pre-configured threshold pressure. For example, different jobsites, with different jobs, may require different pressure levels. Inthis way, each of sprayers 1 at the different job sites may beconfigurable for the different threshold pressures.

The control circuitry 21 of the sprayer 1 may control operation of thesprayer 1 based on the threshold pressure and the actual pressure. Forexample, to control operation of the sprayer 1, the control circuitry 21may limit an output pressure of the sprayer so that the actual pressuredoes not exceed the threshold pressure. The control circuitry 21 may beconfigured to limit the output pressure of the sprayer 1 by controllinga speed of the motor 4 so that the actual pressure does not exceed thethreshold pressure.

As another example, to control operation of the sprayer 1, the controlcircuitry 21 of the sprayer 1 may be configured to compare the thresholdpressure and the actual pressure and output a notification based on thecomparison of the threshold pressure and the actual pressure. Forinstance, the control circuitry 21 may be configured to output thenotification based on the comparison of the threshold pressure and theactual pressure by outputting the notification in response todetermining that the actual pressure exceeds the threshold pressure. Insome examples, the notification includes an indication that the actualpressure exceeds the threshold pressure. In some examples, thenotification includes an indication of an extent by which the actualpressure exceeds the threshold pressure.

As described above, there may be benefits in setting the thresholdpressure at a level to reduce wear-and-tear. One way to achievereduction in wear-and-tear may be to set the threshold pressure to beless than a maximum output pressure achievable by the pump 9 of thesprayer 1.

FIG. 16 shows a flowchart for tracking spray volume relative to amaintenance reminder and issuing an alert once the maintenance thresholdis reached. The handheld computer 14 or the personal computer 29 can beused by a user to input one or more maintenance reminders for aparticular sprayer 1. The network server 35 can receive (e.g., from thehandheld computer 14) and save the maintenance reminder for theparticular sprayer 1. Each maintenance reminder can identify a sprayer 1such as by model number, serial number, owner-assigned sprayer name,and/or or other unique identification. Each maintenance reminder caninclude a maintenance action such as replace the packings, replace thetip, replace the piston rod, replace the pump, or other actionassociated with a sprayer 1. Each maintenance reminder can include amaintenance threshold measured in spray volume or an indication of sprayvolume such as pump cycles. For example, a first maintenance remindermay be to replace the packings of a particular sprayer (e.g., identifiedby serial number) after 100 gallons of paint are sprayed, and a secondmaintenance reminder may be to replace a tip nozzle of the particularsprayer after 50 gallons of paint are sprayed.

Returning to the process of FIG. 16, the handheld computer 14 receives arequest for a maintenance reminder in step 170. Receiving the requestcan be the user using the one or more interfaces 20 to input amaintenance reminder, which for example could be the first maintenancereminder and/or the second maintenance reminder referenced above. If thehandheld computer 14 is currently wirelessly connected to the sprayer 1,then the maintenance reminder may be automatically associated with thatsprayer 1 (e.g., using the serial number of the sprayer 1).Alternatively, a maintenance reminder may be input at the personalcomputer 29, in which case the sprayer 1 must be uniquely identified,such as by the user selecting a name of a sprayer associated with theuser's account causing the serial number of the sprayer to be retrievedfrom memory and sent. Assuming the maintenance reminder is received bythe handheld computer 14, the handheld computer 14 sends the maintenancereminder, including underlying data referenced above, to the networkserver 35 in step 171. In step 172, the network server 35 receives themaintenance reminder from the handheld computer 14. In step 173, thenetwork server 35 sets the spray volume threshold (e.g., saved themaintenance reminder in memory) based on the received maintenancereminder request. Setting the spray volume threshold for the maintenancereminder may include starting a spray volume maintenance log in memoryfor the tracking of spray volume specifically for the maintenancereminder. The spray volume maintenance log can be set to zero when thespray maintenance log is first started and then updated as spray volumedata is received until the threshold amount is reached in the sprayvolume maintenance log.

In step 174, the sprayer 1 generates spray volume data. The spray volumedata can be any type of data referenced herein, including volumesprayed. The spray volume data may alternatively be pump cycles insteadof the calculated spray volume. In step 175, the sprayer 1 sends thegenerated spray volume data to the handheld computer 14. Step 175 mayoccur periodically while spraying according to a schedule (e.g., everyminute or hour), initiated based on the closure of each time window(referenced above), and/or at the end of each spray session. In step176, the handheld computer 14 receives the spray volume data. In step177, the handheld computer 14 sends the spray volume data to the networkserver 35. In step 178, the network server receives the spray volumedata. In step 179, the network server 35 can update the spray volumemaintenance log based on the received spray volume data. For example, ifthe spray volume data generated by the sprayer 1 indicates that 10gallons were sprayed, and the spray volume maintenance log can beincreased by 10 gallons in step 179. In step 180, the network servercompares the spray volume maintenance log for the maintenance thresholdto determine whether the threshold has been reached. If the thresholdhas not been reached by the spray volume maintenance log, then no alertis issued. Typically, steps 174-180 will be repeated many times as morespray volume data is accumulated and the spray volume maintenance log isincreased until the maintenance threshold is reached by the spray volumemaintenance log. It is assumed that it will take multiple spray sessionsover multiple days (in which the sprayer 1 is cycled off and on anotherday and/or the handheld computer 14 disconnects and then reestablishesthe connection at a later time), and possibly different handheldcomputers 14 communicating with the sprayer 1 at different timescorresponding to different spray sessions and the different handheldcomputers 14 relaying different spray volume data to the network server35 for saving in the same spray volume maintenance log until themaintenance threshold is reached. Once the comparison in step 180determines that the spray volume maintenance log exceeds the maintenancethreshold, the networks server 35 sends the maintenance alert in step181. Various different devices can receive the alert from the networkserver 35, including the handheld computer 14 that is currently or mostrecently connected with the sprayer 1, the personal computer 29associated with an owner or manager of the sprayer 1, and/or otherdevice. In the example flowchart shown in FIG. 16, the maintenance alertis received by the handheld computer 14 in step 182. The handheldcomputer 14 then outputs the maintenance alert in step 183 to the userto instruct the user to carry out maintenance on the sprayer 1.

One aspect of the process of FIG. 16 is that the spray volumemaintenance log is maintained on the network server 35 and the networkserver 35 sets the spray volume maintenance log at zero at the creationof the maintenance reminder request. If multiple maintenance reminderrequests are received simultaneously, such as for different components,then multiple spray volume maintenance logs may be set to zero and thenupdated as spray volume data is received by the network server 35, themultiple spray volume maintenance logs being used because themaintenance reminders will have different spray volume thresholds forthe different maintenance actions/components.

In some embodiments, spray volume maintenance log is maintained on thenetwork server 35 but is transmitted to and received by the handheldcomputer 14 when the handheld computer 14 (for which the spray volumemaintenance log is being maintained) establishes a connection with thesprayer 1 so that the handheld computer 14 can determine if and when thethreshold of a spray volume maintenance log is met regardless of asubsequent loss of connection to the network server 35 and to avoidsending periodic data updates to the network server 35. The handheldcomputer 14 then updates and tracks the spray volume maintenance log anddetermines whether the maintenance threshold is reached and issues thealert if the threshold is reached. The updated spray volume maintenancelog and/or spray volume is then sent to the network server 35 at the endof the spray session reflecting the spray volume output that day in thespray volume maintenance log. The network server 35 can then store andlater send the updated spray volume maintenance logs to another handheldcomputer 14 for another session when the other handheld computer 14connects with the sprayer 1 to repeat the process of monitor forreaching the maintenance threshold of the spray volume maintenance log.

FIG. 17 is a flowchart for tracking spray volume maintenance log andissuing maintenance alerts similar to the process of FIG. 16. Onedifference between the process of FIG. 17 and FIG. 16 is that in theprocess of FIG. 17 the sprayer 1 sends a lifetime spray volume data tothe handheld computer 14 which is then sent to the network server 35.The lifetime spray volume data can be the total volume sprayed by thesprayer 1 during the whole life the sprayer 1 which is not reset or setto zero. In some embodiments, the lifetime spray volume data is a log ofwhen spray volume valves were reached, and in some other embodiments thelifetime spray volume data is a single value of total lifetime sprayvolume. Instead of the handheld computer 14 and/or the network server 35keeping track of a separate spray volume maintenance log for eachmaintenance reminder, the process of FIG. 17 sets each maintenancereminder at a particular value of the lifetime spray volume data andissues an alert if the lifetime spray volume data value reaches theparticular value.

The process includes receiving a request for setting a maintenancereminder in step 170 similar to the step 170 from the process of FIG.16. In step 190, the handheld computer 14 sends a request for thecurrent lifetime spray volume data to the sprayer 1. The sprayer 1stores in memory 22 the lifetime spray volume data. In step 191, thesprayer 1 receives the lifetime spray volume data request and sends thelifetime spray volume data to the handheld computer 14 in step 192. Instep 193 the handheld computer 14 risk receives the lifetime sprayvolume data. In step 194, the handheld computer calculates themaintenance threshold based on the requested maintenance reminder andthe lifetime spray volume data received from the sprayer 1. As before,different maintenance reminders will have different spray volumethresholds. For example, a first maintenance reminder may be to replacethe packings after 100 gallons of paint are sprayed, and a secondmaintenance reminder may be to replace a tip nozzle after 50 gallons ofpaint are sprayed. Therefore, the maintenance threshold for packingreplacement can be set by adding 100 gallons to the current lifetimespray volume value. Multiple maintenance thresholds can be set in thisway, typically resulting in different maintenance thresholds calculatedfrom the same current lifetime spray volume value starting point. Instep 195, the handheld computer 14 sends the maintenance threshold tothe network server 35 which receives the maintenance threshold in step196. It is noted that steps 194 could alternatively be performed by thenetwork server 35 by the handheld computer 14 sending the lifetime sprayvolume data to the network server 35. The handheld computer 14 and/orthe networks server 35 saves the maintenance thresholds in memory forreference.

Possibly in another spray session or on another date, the process ofFIG. 17 continues with the sprayer 1 generating spray volume data instep 197. In generating the spray volume data, the sprayer 1 updates thelifetime spray volume data, such as by increasing the lifetime sprayvolume log or value as more paint sprayed in the session. Periodicallywhile spraying according to a schedule (e.g., every minute or hour),initiated based on the closure of each time window (referenced above),and/or at the end of each spray session, the sprayer 1 then sends theupdated lifetime spray volume data to the handheld computer 14 in step198. The handheld computer 14 receives the lifetime spray volume valuein step 199. The handheld computer 14 then sends the lifetime sprayvolume value to the network server 35 in step 200. The network server 35receives the lifetime spray volume value in step 201. The network server35 compares the lifetime spray volume value to the maintenancethreshold(s) to determine if one of the thresholds has been met in step202. If a threshold is met, then the network server 35 sends themaintenance alert to the handheld computer 14 in step 203. In step 204,the handheld computer 14 receives the maintenance alert. In step 205,the handheld computer 14 outputs the maintenance alert on the one ormore interfaces 20 to alert a user of the need for maintenance. It isnoted that steps 204 and 205 can be performed only with the handheldcomputer 14 that is currently interfacing with the sprayer 1 or withmultiple handheld computers 14 and/or with personal computer 29, whichcan be in the form of a text message, email, or other type of message.In some embodiments, the network server 35 sends the maintenancethreshold to the handheld computer 14 that is in a current session withthe sprayer 1, and of the handheld computer 14 performs the comparisonof step 202 and can send an alert similar to step 203 to other devicesand/or can output an alert message and in step 205.

In this manner, handheld computer 14 or network server 35 may beconfigured to receive data indicative of spray volume. Handheld computer14 and/or network server 35 may be configured to maintain a spray volumemaintenance log in memory by updating the spray volume maintenance logwith the data indicative of the spray volume from sprayer 1. Handheldcomputer 14 and/or network server 35 may compare the spray volumemaintenance log to a spray volume threshold and cause an alert to beissued when the spray volume maintenance log is greater than the sprayvolume threshold.

There may be various ways in which sprayer 1 may generate the dataindicative of the spray volume. As one example, control circuitry 21 maycount full or partial pump cycles of pump 9 and generate the dataindicative of spray volume based on the count of full or partial pumpcycles of the pump 9. As another example, control circuitry 21 maydetermine whether the sprayer 1 is operating in a fluid atomizing spraymode or non-atomizing flushing mode and generate the data indicative ofspray volume based on a count of full or partial cycles of the pump whenthe sprayer is operating in the fluid atomizing spray mode. In bothexamples, the spray volume maintenance log is updated based on the countof full or partial pump cycles of the pump when the sprayer is operatingin the fluid atomizing spray mode. In some examples, control circuitry21 may be configured to determine a pressure of the output fluid, and todetermine whether sprayer 1 is operating in the fluid atomizing spraymode or the non-atomizing flushing mode, control circuitry 21 may beconfigured to determine whether the sprayer 1 is operating the fluidatomizing spray mode or non-atomizing flushing mode based on thepressure of the output fluid.

As described above, there may be a plurality of maintenance reminders.As an example, a first maintenance reminder may be triggered for a firstcomponent after a first number of gallons are sprayed by sprayer 1. Asecond maintenance reminder may be triggered for a second componentafter a second number of gallons are sprayed by sprayer 1.

For instance, in the above example, the spray volume threshold is afirst spray volume threshold associated a first maintenance reminder,and the alert is a first alert for the first maintenance reminder.Handheld computer 14 and/or network server 35 may be configured tocompare the spray volume maintenance log to a second spray volumethreshold associated with a second maintenance reminder, and cause asecond alert associated with the second maintenance reminder to beissued when the spray volume maintenance log is greater than the secondspray volume threshold. In this example, the first spray volumethreshold and the second spray volume threshold are thresholds fordifferent volumes. As an example, the first spray volume threshold isassociated with the first maintenance reminder for replacing one of apackings, a tip, a piston rod, or the pump, and the second spray volumethreshold is associated with the second maintenance reminder forreplacing another one of the packings, the tip, the piston rod, or thepump.

In some cases, a first user may use sprayer 1 for a certain amount oftime, and during that time, may not be sprayed sufficient paint totrigger a maintenance reminder. However, a second, subsequent user mayuse sprayer 1, and during use by the second user, the second user mayhave sprayed sufficient paint to trigger a maintenance reminder. Sincethe first and second users may have their own respective ones ofhandheld computer 14, in some cases, the respective ones of handheldcomputer 14 may not be able to determine how much paint has beensprayed. Accordingly, in some examples, network server 35 may beconfigured to keep a running total of how much paint was output bysprayer 1 even where different users used sprayer 1 so that networkserver 35 can determine whether sufficient use of sprayer 1 has occurredto cause a maintenance reminder alert to be sent.

For instance, a first handheld computer 14 in wireless communicationwith the sprayer 1 may be configured to receive a first data indicativeof spray volume output by sprayer 1 and transmit the first dataindicative of spray volume to the network server 35. A second handheldcomputer 14 in subsequent wireless communication with the same sprayer 1may be configured to receive a second data indicative of spray volumeoutput by sprayer 1 generated from a second, subsequent use of thesprayer 1 and transmit the second data indicative of spray volume to thenetwork server 35.

Network server 35 may be configured to update the spray volumemaintenance log with the first data indicative of spray volume togenerate a first instance of the spray volume maintenance log, comparethe first instance of the spray volume maintenance log to the sprayvolume threshold, and determine that the first instance of the sprayvolume maintenance log is not greater than the spray volume threshold.Network server 35 may then subsequently update the spray volumemaintenance log with the second data indicative of spray volume togenerate a second instance of the spray volume maintenance log, comparethe second instance of the spray volume maintenance log to the sprayvolume threshold, and cause the alert to be issued based on the secondinstance of the spray volume maintenance log being greater than thespray volume threshold.

Various alerts, reports, and data outputs are referenced herein. FIG. 18is an example of a report that can be output such as on the handheldcomputer 14, the personal computer 29, or another device. As shown, eachwindow of time is serialized. Each window represents a respective timeperiod, and the respective time periods are shown. In this example, eachtime period is an hour. A spray volume is indicated for each time windowcorresponding to the volume sprayed which can be determined as discussedherein. In association with each time window, cleaning volume is alsoindicated which can be determined as discussed herein. In associationwith each time window, the metric of spray pressure is indicated. Inparticular, the average pressure for each time window is shown, howeveranother pressure parameter could additionally or alternatively beindicated. Each time window is also associated with the particular job.The job could be selected before, during, or after the time window. Jobselection has been discussed herein for associated spray data with aparticular job. Typically, when the job is selected, all subsequent timewindows will have a spray data generated within the time window with theselected job until a command is received by the handheld computer 14 todisassociate the job with subsequent spray data and time windows, or adifferent job is selected, or in some embodiments if the location of thesprayer is moved out of range of the job (e.g., within a range of thejob which is the same as the range for selecting the job as discussedherein). Also associated with each time window is the lifetime sprayvolume of the sprayer 1, measured in gallons in this example. Also,shown in association with each time window is the spray volumemaintenance log value which can build towards the maintenance threshold.In this example, a packing replacement maintenance reminder was set for100 gallons which was reached in time window 13260 at which time themaintenance notice was issued. An example maintenance notice is shown inFIG. 18 which can appear on an one or more interfaces 20 of a handheldcomputer 14 that is currently in a session with the sprayer 1. Thereport of FIG. 18 also shows daily totals for spray volume, cleaningvolume, and daily average pressure which are based on the data for thatday. The information of FIG. 18 can be issued as report on the handheldcomputer 14, the personal computer 29, or another device as previouslystated. The report can be displayed live throughout the day as data iscollected and the report is populated, and/or the report can be issuedat the end of a spray session, at the day, and/or can be retrieved at alater day. The report can be saved in memory 16 of the handheld computer14 and/or the memory 37 of the networks server 35 for retrieval anddisplayed and/or sent to another device.

FIG. 19 is an example of a report that can be output such as on theinterface of a handheld computer 14, personal computer 29, or otherdevice. The report of FIG. 19 can be a job report, containing onlyinformation pertaining to a particular job. Such information can beretrieved from a network server 35 by a handheld computer 14 or apersonal computer 29 to track job progress.

In this case, the job has a name (“High School”) and an identifiedlocation. In some cases, a job can have a serial number to uniquelyidentify which may be displayed in the report or only used by processorsfor uniquely identifying and avoiding confusion with common job names.The particular job report shown is for one day, although other jobreports may cover multiple days. As shown, the day is broken up intotime windows corresponding to respective hours. As shown, multiplesprayers contributed to the job report. Specifically, sprayer one andsprayer two contributed data. For each of the sprayers, spray volume,average pressure, and cleaning volume are shown for each hourly timewindow. The report also totals spray volume, averages the spraypressure, and totals cleaning volume for each sprayer for a day/timeperiod. The report may further include a sum total spray volume for allsprayers that contributed spray volume data for that day or other timeperiod, which in this case would be 39.9 (24.0+15.9). The report alsoincludes a total spray volume calculated for each time window which sumsall spray volume values amongst all the sprayers and time windows forthe job. The report also includes a running total job spray volume. Asshown, the total job spray volume carries over from a previous day (at35.5 gallons) and increases throughout the day as both sprayerscontribute. The sum total spray volume can be useful for understandingtotal productivity and cost.

Although not shown, the job report can include a work hours total. Inthis case, the processor can look through a spray log to determine andhow many time windows was a sprayer spraying to output a total number ofspray hours (or other interval such as quarter hours or minutes). It isnoted that the total number spray hours might be calculated from dataspanning several days and multiple sprayers. A work hours total can beuseful for understanding labor costs and estimating future labor costsfor the same project repeated in the future or similar projects.

FIG. 19 also shows two notices having been issued as part of the report.While the notices shown as being part of the report, notices can beissued separately from the report. The first notice indicates that thespray pressure exceeded a pressure limit. In this case, spray pressureis based off of an hourly spray pressure. Hourly spray pressure iscompared against a threshold, as previously described, to determinewhether the user sprayed above the spray threshold set by a supervisor.In this case, in the hour between 7 am and 8 am, sprayer 1 sprayed anhourly average of 3000 psi which is above the 2700 psi pressure limitset for the job by the supervisor. In this case, the hourly average (orother pressure metric for a time window) can be compared to a pressurethreshold, and the alert issued if the hourly average or other pressuremetric for the time window exceeds the pressure threshold. In somecases, the alert can include the identity of the user (e.g., using theidentity of the user as registered) using the handheld computer 14 thatis connected with the particular sprayer that exceeded the pressurelimit. In this case, the alert indicates the pressure threshold, thepressure value that exceed the threshold, the identification of thesprayer, the time window during which the pressure limit was exceeded,and the job on which the pressure limit was exceeded.

FIG. 19 also includes a notice that the job spray volume has beenexceeded. In setting up a job, a supervisor can input a volume limit orother threshold. As shown, the total job spray volume can be monitoredfrom data from several sprayers over several days (or other time period)to track progress towards the job limit. As spray data associated with aparticular job is received by the network server 35 the network 35 cancompare the total job spray volume as it is updated with the job sprayvolume threshold previously set and can determine when the job sprayvolume threshold is met, and when met the network server 35 can send outan alert. In this case, the job limit of 75 gallons (set by thesupervisor) was exceeded in the time window of 3-4 pm. The alertindicates the job spray volume threshold, the time window in which thethreshold was met, and an identification of the job. The alert can besent to each handheld computer 14 that is currently contributing spraydata for the job or is otherwise logged into the job at the job site.The alert can also be sent to the handheld computer 14 and/or personalcomputer 29 associated with the manager for the job. In some cases, adaily report can be sent to the manager's handheld computer 14 and/orpersonal computer 29. The report can be generated and sent by thenetwork computer 35. In some cases, the report can include thepercentage to job completion (e.g., 75% complete, or other parameterindicating portion of job completion) based on current total job sprayvolume and a previously entered total spray volume expected for the job.The report can also include the average volume per hour as a metric ofproductivity amongst one sprayer or multiple sprayers (e.g., 6.5 gallonsper hour for all sprayers on the job site, or a per sprayer 2.5 gallonsper hour on the job site). Such a metric to be calculated by processorreview in a spray log to determine the total spray volume for the jobdivided by the number of hours (or other time window duration) in whichspray data was generated to determine the average volume sprayed hertime window worked.

The type of data in the reports of FIGS. 18 and 19 are examples of datathat a handheld computer 14 may ferry from a sprayer 1 while a userconnects with the sprayer 1 and uses the sprayer 1 but that handheldcomputer does not allow the data of the report to be displayed on theone or more interfaces 20 for viewing by the user despite the handheldcomputer 14 of the user being trusted to ferry the data to the networkserver 35.

This disclosure contains references to data and other information thatcan be generated by sprayer 1, handheld computer 14, personal computer29, and/or by network server 35. Any such data can be transmittedbetween these devices and other devices and infrastructure via the meansdisclosed herein. Any such data can be saved in memory of any of thesprayer 1, handheld computer 14, personal computer 29, and/or by networkserver 35. Any such data can be output by an interface of the sprayer 1,the handheld computer 14, the personal computer 29, and/or by thenetwork server 35. This disclosure includes many different examples ofoptions, and particular aspects of these options can be combined withother embodiments. Therefore it is contemplated that a single feature,which might be explained in a sentence or part of the sentence inconnection with one of the embodiments and/or shown as one feature of abroader FIG., may be used in a separate embodiment without departingfrom the scope of this disclosure. Therefore, the embodiments presentedherein are not to be understood as narrow and discrete examples of theonly way that these feature(s) can be implemented, but rather areexamples of some, but not all, of the ways the particular feature(s) canbe implemented.

The present disclosure is made using several embodiments and examples tohighlight various aspects. Modifications can be made to the embodimentpresented herein without departing from techniques described in thisdisclosure. As such, the techniques are not limited to the embodimentsdisclosed herein.

The invention claimed is:
 1. A hand portable paint sprayer thatwirelessly communicates with a remote computing device, the handportable paint sprayer comprising: a spray gun configured to spray paintas an atomized spray fan, the spray gun comprising a trigger thatactuates the spray gun to spray the paint and a tip nozzle configured toatomize the paint; a hose that connects to the spray gun; a frame thatpermits the hand portable paint sprayer to be moved by hand to jobsites; a pump supported by the frame, the pump having a reciprocatingpiston that outputs the paint under pressure to the spray gun via thehose; a motor supported by the frame, the motor configured to drive thepump; a pressure sensor that outputs a signal indicative of paintpressure of the paint output by the pump; a wireless module supported bythe frame, the wireless module configured to wirelessly send and receiveinformation; and control circuitry supported by the frame, the controlcircuitry configured to receive the signal indicative of the paintpressure, generate data indicative of paint spray volume output by thepump through the tip nozzle over a plurality of time windows, determinea plurality of output values representing a volume of the paint sprayedrespectively for the plurality of time windows based on the dataindicative of the paint spray volume output, store the plurality ofoutput values in memory of the control circuitry, and cause the wirelessmodule to transmit the plurality of output values externally from thehand portable paint sprayer.
 2. The hand portable paint sprayer of claim1, wherein the control circuitry is configured to generate the dataindicative of paint spray volume output by the pump through the tipnozzle over the plurality of time windows based at least in part on thesignal indicative of the paint pressure.
 3. The hand portable paintsprayer of claim 1, wherein the control circuitry is configured todetermine the plurality of output values based on both the signalindicative of the paint pressure and the data indicative of the paintspray volume output.
 4. The hand portable paint sprayer of claim 3,wherein the control circuitry is configured to determine the pluralityof output values by excluding a part of the data indicative of the paintspray volume output that is associated with non-atomization as indicatedby the signal indicative of the paint pressure.
 5. The hand portablepaint sprayer of claim 1, wherein for each time window of the pluralityof time windows, the control circuitry is configured to open the timewindow, calculate and recalculate an output value of the plurality ofoutput values representing the volume of the paint sprayed for the timewindow as a running value based on the data indicative of the paintspray volume output that was generated for the time window, and closethe time window with a final running value being the output valuerepresenting the volume of the paint sprayed for the time window.
 6. Thehand portable paint sprayer of claim 1, wherein the data indicative ofthe paint spray volume output by the pump comprises a plurality of cycleindications of one or both of the motor or the pump.
 7. The handportable paint sprayer of claim 6, wherein the plurality of outputvalues are respectively a plurality of total cycle counts of theplurality of cycle indications respectively for the plurality of timewindows.
 8. The hand portable paint sprayer of claim 6, wherein theplurality of output values are respectively a plurality of volumetricvalues of the paint sprayed respectively during the plurality of timewindows, and the plurality of volumetric values are calculated by thecontrol circuitry based on the plurality of cycle indications and avalue that represents pump displacement volume per cycle.
 9. The handportable paint sprayer of claim 6, wherein the signal indicative of thepaint pressure is a first signal, the hand portable paint sprayerfurther comprising a cycle sensor configured to sense partial orcomplete cycles of either the motor or the pump and send a second signalto the control circuitry, wherein the plurality of cycle indications arebased on the second signal.
 10. The hand portable paint sprayer of claim1, wherein each time window of the plurality of time windows representsa predetermined amount of time.
 11. The hand portable paint sprayer ofclaim 1, wherein all of the time windows of the plurality of timewindows have the same duration.
 12. The hand portable paint sprayer ofclaim 1, wherein only one of the plurality of time windows is open at atime such that the plurality of time windows are consecutively openedand closed.
 13. The hand portable paint sprayer of claim 1, wherein thecontrol circuitry is configured to associate either a plurality oftimestamps or a plurality of serial numbers respectively with theplurality of time windows.
 14. The hand portable paint sprayer of claim13, wherein the control circuitry is configured to receive a request viathe wireless module from a handheld computing device to send one or moreof the plurality of output values stored in the memory to the handheldcomputing device, the request identifying either a timestamp of theplurality of timestamps or a serial number of the plurality of serialnumbers.
 15. The hand portable paint sprayer of claim 14, wherein thecontrol circuitry is configured to, based on the request, send the oneor more output values of the plurality of output values that correspondwith a time window of the plurality of time windows that is associatedwith either the timestamp or the serial number that was identified inthe request.
 16. The hand portable paint sprayer of claim 14, whereinthe one or more of the plurality of output values comprises multipleoutput values, and wherein the control circuitry is configured to, basedon the request, send the multiple output values of the plurality ofoutput values that correspond with multiple time windows of theplurality of time windows that represent respective time periods thatare later in time than the time window of the plurality of time windowsthat is associated with either the timestamp or the serial number thatwas identified in the request.
 17. A sprayer system, comprising: thehand portable paint sprayer of claim 1; and the remote computing device,the remote computing device being the remote computing device of claim1, the remote computing device having a display, and the remotecomputing device configured to represent the plurality of output valueson the display.
 18. The sprayer system of claim 17, wherein the remotecomputing device is a cellular telephone.
 19. The sprayer system ofclaim 18, further comprising a server, wherein the cellular telephone isconfigured to wirelessly communicate the plurality of output values tothe server.
 20. A method of operating a spray system, the methodcomprising: spraying paint with a hand portable paint sprayer over aplurality of time windows, the hand portable paint sprayer comprising: aspray gun configured to spray paint as an atomized spray fan, the spraygun comprising a trigger that actuates the spray gun to spray the paint;a hose that connects to the spray gun; a frame that permits the handportable paint sprayer to be moved by hand to job sites; a pumpsupported by the frame, the pump having a reciprocating piston thatoutputs the paint under pressure to the spray gun via the hose; a motorsupported by the frame, the motor configured to drive the pump; controlcircuitry supported by the frame; and a wireless module supported by theframe, the wireless module configured to wirelessly send and receiveinformation; generating, with the control circuitry, data indicative ofpaint spray volume output by the hand portable paint sprayer;determining, with the control circuitry, a plurality of output valuesrepresenting a volume of the paint sprayed respectively for theplurality of time windows based on the data indicative of the paintspray volume output; and wirelessly transmitting the plurality of outputvalues off of the hand portable paint sprayer with the wireless moduleto one or more computing devices that are remote from the hand portablepaint sprayer.
 21. A hand portable paint sprayer that wirelesslycommunicates with a remote computing device, the hand portable paintsprayer comprising: a tip nozzle configured to spray paint as anatomized spray fan; a hose that supplies paint for spray to the tipnozzle; a frame that permits the hand portable paint sprayer to be movedby hand to job sites; a pump supported by the frame, the pump having areciprocating piston that outputs the paint under pressure to the tipnozzle via the hose; a motor supported by the frame, the motorconfigured to drive the pump; a pressure sensor that outputs a signalindicative of paint pressure of the paint output by the pump; a wirelessmodule supported by the frame, the wireless module configured towirelessly send and receive information; and control circuitry supportedby the frame, the control circuitry configured to receive the signalindicative of the paint pressure, generate data indicative of paintspray volume output by the pump through the tip nozzle over a pluralityof time windows, determine a plurality of output values representing avolume of the paint sprayed respectively for the plurality of timewindows based on the data indicative of the paint spray volume output,store the plurality of output values in memory of the control circuitry,and cause the wireless module to transmit the plurality of output valuesexternally from the hand portable paint sprayer.